[파이썬]백준 1697 숨바꼭질

Byeonghyeon Kim·2021년 4월 19일
0

파이썬

목록 보기
4/4
post-thumbnail

링크

백준 1697 숨바꼭질


백트래킹으로 풀려고 했다가 안풀려서(최대재귀깊이에러 ㅠㅠ)
bfs로 풀었더니 허무하게 쉽게 풀렸던 문제..


정답 코드

from collections import deque

def bfs(q):
    while q:
        v = q.popleft()
        if v == K:
            return dis[K]
        for next in (v + 1, v - 1, v * 2):
            if 0 <= next < 100001 and dis[next] == 0:
                dis[next] = dis[v] + 1
                q.append(next)

N, K = map(int, input().split())
dis = [0] * 100001

q = deque([N])
print(bfs(q))

알게된 것👨‍💻

  • 조건을 탐색해나갈때 bfs를 쓰는것도 고려..?
profile
자기 주도 개발전 (개발, 발전)

0개의 댓글