분류 전체보기

문제출저 : https://www.acmicpc.net/problem/16954 16954번: 움직이는 미로 탈출 욱제는 학교 숙제로 크기가 8×8인 체스판에서 탈출하는 게임을 만들었다. 체스판의 모든 칸은 빈 칸 또는 벽 중 하나이다. 욱제의 캐릭터는 가장 왼쪽 아랫 칸에 있고, 이 캐릭터는 가장 오른쪽 www.acmicpc.net 소스코드 : import java.util.*; import java.lang.*; import java.io.*; /* 모든 벽이 떨어질 때 까지 하나라도 살아있으면 1, 그렇지 않으면 0 */ public class Main { static char[][] board; static boolean[][] visited; // 시간방향 static int[] dy = {0,..
문제출저 : https://www.acmicpc.net/problem/1915 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net 소스코드 : import java.util.*; import java.lang.*; import java.io.*; public class Main { static int n,m; static int[][] board; static int[][] dp; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStream..
문제출저 : https://programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 소스코드 : // 양쪽 풍선의 최소값이 둘 다 작으면 마지막까지 남을 수 없다. import java.util.*; class Solution { public int solution(int[] a) { int answer = 0; int n = a.length; if(n == 1) return 1; int[] left = new int[n]; int[] right = new int[n]; int lnum = a[0]; int rnum = a[n - 1]; ..
문제출저 : https://www.acmicpc.net/problem/19940 19940번: 피자 오븐 각각의 테스트 케이스마다 5개의 정수를 한 줄에 공백으로 구분해서 출력한다. 이 정수는 입력으로 주어진 시간을 만들기 위해서 ADDH, ADDT, MINT, ADDO, MINO 버튼을 누르는 횟수를 출력한 것이다. 최 www.acmicpc.net 소스코드 : import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int n; // 갯수 static int[] timeBoard; static int[] inde..
타입 변수의 제한 제네릭은 T 와 같은 타입 변수를 사용해 타입을 제한합니다. 이 때 extends 키워드를 사용하면 타입 변수에 특정 타입만을 사용하도록 제한할 수 있습니다. class AnimalList {...} 클래스의 타입 변수에 제한을 걸어 놓으면 클래스 내부에서 사용된 모든 타입 변수에 제한이 걸립니다. 클래스가 아닌 인터페이스를 구현할 때에도 implements 가 아닌 extends를 사용해야 합니다. interface WarmBlood {...} class AnimalList {...} // implements 키워드를 사용하면 안된다. 클래스와 인터페이스를 동시에 상속받고 구현해야 한다면 &(엠퍼센트)를 사용하면 됩니다. class AnimalList {...} 예제 public cl..
제네릭 정의 자바에서 제네릭이란 데이터 타입을 일반화(generalize) 시킨다는 것을 의미한다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시 미리 지정하는 방법입니다. 제네릭의 장점 1. 클래스나 메소드 내부에서 사용되는 객체의 타입 안정성을 높일 수 있다. (잘못된 타입이 들오는 것을 컴파일 단계에서 방지합니다.) 2. 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. (반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있다.) 3. 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아집니다. JDK 1.5부터 도입된 제네릭을 사용하면 컴파일 시에 미리 타입이 정해지므로, 타입 검사나 타입 변환과 같은 번거로운 작업을 생략할 수..
래퍼 클래스 ( Wrapper class ) 8개의 기본 타입의 데이터를 객체로 포장해 주는 클래스를 래퍼클래스라고 한다. 래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어 준다. 래퍼 클래스는 모두 java.lang 패키지에 포함되어 제공된다. 프로그램에 따라 기본 타입의 데이터를 객체로 취급해야 하는 경우에 사용됩니다. 예를 들어, 메소드의 인수로 객체 타입만을 요구하면, 기본 타입의 데이터를 객체로 변환한 후 작업을 수행해야 하는데 이 때 래퍼 클래스가 사용됩니다. 자바의 기본타입에 대응하는 래퍼 클래스 기본 타입 래퍼 클래스 byte Byte short Short int Integer long Long float Float double Double c..
타입(Data type) 타입은 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지 명시적으로 알려준다. 자바에서의 타입은 크게 기본형 타입 (Primitive type) 과 참조형 타입 (Reference type) 이 있다. 기본형 타입은 원시 타입이라고도 한다. 기본형 타입은 정수, 실수, 문자, 논리 리터럴 등의 실제 데이터 값을 저장하는 타입이다. 참조 타입은 객체의 주소를 저장하는 타입으로 메모리 번지 값을 통해 객체를 참조하는 타입이다. 기본형 타입 (Primitive type) 8가지의 기본형 타입을 미리 정의하여 제공한다. 기본값이 있기 때문에 Null이 존재하지 않는다. 만약 기본형 타입에 Null 을 넣고 싶다면 래퍼 클래스를 활용한다. 실제 값을 저장하는 ..
문제출저 : https://www.acmicpc.net/problem/1405 1405번: 미친 로봇 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 100보다 작거나 같은 자 www.acmicpc.net 소스코드 : package studyGroup.may.may24; import java.util.*; import java.io.*; /* 같은 곳을 방문하지 않고 N번 동안 이동할 때의 확률을 구하는 것 https://moonsbeen.tistory.com/173 */ public class 미친로봇1405 { static int n;// 로봇의 행동 n = 0 && ny < 3..
문제출저 : https://www.acmicpc.net/problem/2109 2109번: 순회강연 한 저명한 학자에게 n(0 ≤ n ≤ 10,000)개의 대학에서 강연 요청을 해 왔다. 각 대학에서는 d(1 ≤ d ≤ 10,000)일 안에 와서 강연을 해 주면 p(1 ≤ p ≤ 10,000)만큼의 강연료를 지불하겠다고 알려왔다. www.acmicpc.net 소스코드 : package studyGroup.may.may22; import java.util.*; import java.io.*; /* w (int) (o1.p - o2.p)); long answer = 0; for(int i = 0; i < n; i++) { long result = (i + t - n) * carrots.get(i).p + c..
문제출저 : https://www.acmicpc.net/problem/18234 18234번: 당근 훔쳐 먹기 첫 번째 줄에 N(1 ≤ N ≤ 200,000)과 T(N ≤ T ≤ 100,000,000)가 공백으로 구분되어 주어진다. 오리는 당근의 맛을 충분히 높이기 위해 항상 N이상인 T일 동안 재배한다. 다음 N개의 줄에 걸쳐서 i+1번째 www.acmicpc.net 소스코드 : package studyGroup.may.may22; import java.util.*; import java.io.*; /* w (int) (o1.p - o2.p)); long answer = 0; for(int i = 0; i < n; i++) { long result = (i + t - n) * carrots.get(i)..
package studyGroup.may.may21; import java.util.*; import java.io.*; /* int[n+1][n+1] 을 사용하니 메모리초과 발생 메모리 초과를 방지하기 위해 HashMap과 ArrayList 으로 2차원 배열 역할을 수행하게 함 */ public class 해킹10282 { static int t; // 테스트케이스 갯수 static int n; // 컴퓨터 static int d; // 의존성 개수 static int c; // 해킹당한 컴퓨터 번호호 static HashMap lines; static int[][] answer; static int index; public static void main(String[] args) throws IOEx..
너지살
'분류 전체보기' 카테고리의 글 목록 (27 Page)