ebson

boj.kr/1697 숨바꼭질 (silver1) 파이썬 풀이 본문

ALGORITHM STUDY WITH PYTHON/BFS | DFS

boj.kr/1697 숨바꼭질 (silver1) 파이썬 풀이

ebson 2023. 4. 25. 14:56

방문체크하면서 bfs 방식으로 카운팅하여 K에 도달하는 최소시간을 구할 수 있다.

 

N, K = map(int, input().split())
from collections import deque
def bfs(N):
    visited = [0] * 100001
    visited[N] += 1
    dq = deque()
    dq.append((N, 0))
    while dq:
        (cur, cnt) = dq.popleft()
        if cur == K:
            return cnt
        for nxt in (cur*2, cur+1, cur-1):
            if 0<=nxt<100001 and visited[nxt] == 0:
                visited[nxt] += 1
                dq.append((nxt, cnt+1))
print(bfs(N))

 

bfs -> deque + 방문체크

Comments