백준 11725 트리의 부모 찾기(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/11725 풀이과정 DFS, BFS의 인접 행렬, 인접 리스트 방식으로 해결할 수 있다. 정답코드import java.io.*;import java.util.*;public class Main { static int N; static List> tree; static boolean[] visited; static int[] parent; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buffered..
백준 2589 보물섬(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/2589 풀이과정 최단거리이므로 BFS를 이용해서 풀이했다. visited 배열에 거리의 값을 더해가면서 계산한다. 정답코드import java.io.*;import java.util.*;public class Main { static int N, M; static int[][] board; static int[] dy = {-1, 1, 0, 0}; static int[] dx = {0, 0, -1, 1}; static int[][] visited; static int result = 0; public static void main(String[] args) throws IOException { ..
백준 15686 치킨 배달(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/15686 풀이과정 전형적인 백트래킹으로 풀 수 있는 문제이다. 치킨집 M개를 선택해서 visited 배열에 저장하고 거리를 구한 후 원복시켜서 구현했다. 정답코드import java.io.*;import java.util.*;public class Main { static int N, M; static int[][] board; static List house = new ArrayList(); static List chicken = new ArrayList(); static boolean[] visited; static int result = Integer.MAX_VALUE; public static..
백준 17298 오큰수(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/17298 풀이과정 배열과 스택을 이용해서 풀이한다. 정답코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int N = Integer.parseInt(br.readLine(..
백준 1068 트리(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/1068 풀이과정 List 배열을 이용해서 tree 정보를 저장했다. 그리고 DFS를 통해서 리프 노드의 개수를 더해주도록 풀이했다. 정답코드import java.io.*;import java.util.*;public class Main { static int N; static List[] tree; static int root, remove; static int result = 0; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(S..
백준 2636 치즈(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/2636 풀이과정 DFS를 이용해서 풀이했다. 정답코드import java.io.*;import java.util.*;public class Main { static int[] dy = {-1, 1, 0, 0}; static int[] dx = {0, 0, -1, 1}; static int N, M; static int[][] board; static boolean[][] visited; static int cheeseCnt = 0; public static void main(String[] args) throws IOException { BufferedReader br = new Buff..
백준 14502 연구소(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/14502 풀이과정 총 3단계로 나눠서 풀이했다. 먼저, 벽 3개를 짓는다. 다음으로 바이러스를 퍼뜨린다. 마지막으로 안전 영역을 카운팅한다. 바이러스를 퍼뜨릴 때 원래 board를 보존하기 위해서 newBoard라는 새로운 변수를 사용했고, DFS를 이용해서 바이러스를 퍼뜨렸다. 정답코드import java.io.*;import java.util.*;public class Main { static int[] dy = {-1, 1, 0, 0}; static int[] dx = {0, 0, -1, 1}; static int N, M; static int[][] board; static int[][] newBoard..
백준 4949 균형잡힌 세상(JAVA)
·
PS(Problem Solving)/JAVA
문제 설명https://www.acmicpc.net/problem/4949 풀이과정스택을 이용해서 풀이했다. 정답코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String input = ""; while (!(input = ..