[백준-실버] 숨바꼭질(BOJ 1697)
문제 문제링크 문제 이해하기위치 `N`에서부터 `K` 로 이동해야한다.이동 방법은 3가지 방법이 존재한다.현재 위치 - 1현재 위치 + 1현재 위치 * 2N에서 K까지 걸리는 최소 시간을 구해야한다.어떤 알고리즘이 가능한지 검토완전탐색모든 경로를 탐색해야해서 너무 많은 시간이 걸린다.그리디 현재의 최선 값이 전체 결과의 최선이 되지 않기에 사용하지 못한다.DFS한 경로를 끝까지 탐색한 뒤 다른 경로를 탐색하기 때문에 최단 시간에 적합하지 않는다.BFS가중치가 동일한 그래프에서 최단 경로를 찾는데 적합하다.BFS는 레벨 단위로 탐색하므로 가장 먼저 도달한 경로가 최단 경로임을 보장한다.시간 복잡도는 O(V+E) 코드import java.io.*;import java.util.*;public class 숨바..