최대 1 분 소요

사용 언어: Python3

문제

스크린샷 2023-05-18 오후 8 30 05

풀이

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])


💛 개인 공부 기록용 블로그입니다. 👻

맨 위로 이동하기