사용 언어 - Python3
문제 - 숨바꼭질
정답
BFS 재귀함수 (정답 맞춘 여부 X)
from collections import deque
def bfs():
q = deque()
q.append(n)
while q:
x = q.popleft()
if x == k:
print(dist[x])
break
for nx in (x-1,x+1,x*2):
if 0<= nx <= MAX and not dist[nx]:
dist[nx] = dist[x]+1
q.append(nx)
MAX = 10**5
dist = [0]*(MAX+1)
n, k = map(int,input().split())
bfs()
레퍼런스
- 정답 참고
- 정답 깃허브
'Algorithm > DFS&BFS&백트래킹&재귀' 카테고리의 다른 글
[프로그래머스 lv3] 여행경로 (1) | 2023.04.22 |
---|---|
[프로그래머스 lv3] 단어 변환 (0) | 2023.04.22 |
[Python3] 1189번 컴백홈 (0) | 2023.04.09 |
[Python3] 백준 1012번 유기농 배추 (0) | 2023.04.09 |
[Python3] 백준 1260번 DFS와 BFS (0) | 2023.04.09 |
댓글