본문 바로가기

코딩테스트

(134)
백준 4485번: 녹색 옷 입은 애가 젤다지?[JAVA] https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net [정답 코드] import org.w3c.dom.html.HTMLParagraphElement; import java.io.*; import java.util.*; public class Main { static int[][] graph; static int[] dx = {-1, 1, 0, 0}; // 상하좌우 탐색 static int[] dy = {0, 0, -1, 1}; st..
백준 1189번: 컴백홈[JAVA] https://www.acmicpc.net/problem/1189 1189번: 컴백홈 첫 줄에 정수 R(1 ≤ R ≤ 5), C(1 ≤ C ≤ 5), K(1 ≤ K ≤ R×C)가 공백으로 구분되어 주어진다. 두 번째부터 R+1번째 줄까지는 R×C 맵의 정보를 나타내는 '.'과 'T'로 구성된 길이가 C인 문자열이 주어진다 www.acmicpc.net [정답 코드] import java.io.*; import java.util.*; public class Main { static int R, C, K, answer = 0; static char[][] graph; static boolean[][] visited; static int[] dx = {-1, 1, 0, 0}; static int[] dy = {..
백준 15686번: 치킨 배달[JAVA] https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net [정답 코드] import java.io.*; import java.util.*; public class Main { static int N, M; static int[][] graph; static ArrayList house = new ArrayList(); static ArrayList chicken = new ArrayList(); static ArrayList sel..
백준 14225번: 부분수열의 합[JAVA] https://www.acmicpc.net/problem/14225 14225번: 부분수열의 합 수열 S가 주어졌을 때, 수열 S의 부분 수열의 합으로 나올 수 없는 가장 작은 자연수를 구하는 프로그램을 작성하시오. 예를 들어, S = [5, 1, 2]인 경우에 1, 2, 3(=1+2), 5, 6(=1+5), 7(=2+5), 8(=1+2+5)을 만들 www.acmicpc.net [정답 코드] import java.io.*; import java.util.*; public class Main { static int[] arr, answer; static int N, max = 0; static boolean[] visited; public static void main(String[] args) throw..
백준 10819번: 차이를 최대로[JAVA] https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net [정답 코드] import java.io.*; import java.util.*; public class Main { static int result = Integer.MIN_VALUE; static int N; static int[] arr, selected; static boolean[] visited; public static void main(String[] args) throws Exception { ..
백준 1260번: DFS와 BFS[JAVA] https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net [정답 코드] import java.io.*; import java.util.*; public class Main { static int[][] graph; static boolean[] visited; public static void main(String[] args) throws Exception { BufferedReader br = new Buffer..
백준 1068번: 트리[JAVA] https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net [정답 코드] import java.io.*; import java.util.*; public class Main { static int root; static Node[] tree; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReade..
백준 1991번: 트리 순회[JAVA] https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net [정답 코드] import java.io.*; import java.util.*; public class Main { static Node head = new Node('A', null, null); // 트리는 A부터 시작 public static void main(String[] args) throws Exception { BufferedReader br = new BufferedR..