알고리즘 (0,0)에서 (N,M)의 위치까지의 최소 거리를 구하는 알고리즘 dfs, bfs둘 다 풀 수 있지만 최소 거리를 묻는 문제이기 때문에 bfs가 적당하다고 생각함. bfs 풀이 package baekjoon; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class 미로탐색 { static int N, M, map[][]; static int[] dr = { 1, -1, 0, 0 }; static int[] dc = { 0, 0, 1, -1 }; static int Ans = 1; public static void main(String[] args) { Scanner sc = new Sca..
알고리즘 경우의 수가 2가지 * 배달시간을 (공격 + 대기)로 나눈 나머지가 0이 아닐 때 * 나온값에 공격시간을 뺀값이 0이하면 물림 문제를 잘 파악하고 경우의 수만 찾아낼 수 있다면 쉽게 풀 수 있는 문제 package baekjoon; import java.util.Scanner; public class 사나운개 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A, B, C, D; int P, M, N; int result = 0; int result1 = 0; int result2 = 0; A = sc.nextInt(); B = sc.nextInt(); C = sc.nextInt(); D = sc..
알고리즘 조건이 있는 완전탐색 문제. 물의 높이를 1씩 증가시키면서 탐색을 돌면 풀 수 있음. bfs탐색 package baekjoon; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class 안전영역bfs { static int N, map[][]; static int[] dr = { -1, 1, 0, 0 }; static int[] dc = { 0, 0, -1, 1 }; static boolean[][] v; sta..