2025/05/11 3

[백준 13549] 숨바꼭질 3 - JAVA

https://www.acmicpc.net/problem/13549 0-1 bfs 일반 BFS에 정렬 기준이 없는 큐를 사용하고, 가중치 1인 탐색을 먼저 넣고 0을 이후 넣는 코드를 작성했다면다음 탐색에서 둘 다 정답일 때, 최단거리가 아닌 오답(가중치 1이 더해진 값)이 출력될 수 있다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayDeque;import java.util.Arrays;import java.util.Deque;import java.util.StringTokenizer;class Main { public static void ma..

[백준] PS/Java 2025.05.11

[백준 1612] 조삼모사 - JAVA

https://www.acmicpc.net/problem/1621 dp[i] = dp[i-1] + 현재 바나나if (dp[i] > dp[i-k] + k개 바나나를 c 비용으로 옮기는 비용) prev[i] = k + 여기서, 바나나를 k개 옮겼을 때와 하나씩 옮겼을 때 비용이 같은 경우도 걸러짐(답이 여러 개 존재하면, K개 들고 가는 횟수가 가장 적은 것을 구해야 한다) 이후 prev를 N부터 순회하며,k가 적혀있다면, 왼쪽을 기록하고 k칸 전으로 이동한다.0이 적혀있다면, 1개 옮긴 것이므로 1칸 전으로 이동한다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.u..

[백준] PS/Java 2025.05.11

[백준 2011] 암호코드 - JAVA

https://www.acmicpc.net/problem/2011 dp언뜻 보기에는 쉬우나, 고려해야 할 경우가 많아 초기화가 까다로운 문제다. 1. 유효한 수의 범위는 1~26이다.따라서, 한 자리 수는 0이면 안된다. 2. '수'에 다음과 같은 경우는 포함되지 않는다. 01 001 0023따라서, 두 자리 수는 10~26 범위만 유효하다.또는, 첫 자리가 0이 아니고 27보다 작으면 된다. 3. 1번과 2번에 따라, 암호의 첫 번째 수가 0이면 경우의 수는 무조건 0이다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static vo..

[백준] PS/Java 2025.05.11