[김태원 알고리즘] 송아지 찾기 (BFS: Breadth First Search)
사용 언어: Python3
문제
풀이
from collections import deque
S, E = map(int, input().split())
MAX = 10000 # 좌표의 max 값
dist = [0] * (MAX+1)
visited = [0] * (MAX+1) # ✅ S로부터의 거리
q = deque()
q.append(S)
visited[S] = 1
while q:
cur = q.popleft()
if cur == E:
break
for x in (cur+5, cur-1, cur+1): # ✅ 튜플 값 하나씩 탐색
if x <= 0 or x > MAX:
continue
if visited[x] == 1:
continue
q.append(x)
visited[x] = 1
dist[x] = dist[cur] + 1 # ✅ 부모값 + 1
print(dist[E])
💛 개인 공부 기록용 블로그입니다. 👻