728x90
https://www.acmicpc.net/problem/1697
- 생각
- 최소 거리 관련 문제니깐 que!!
- 코드
from collections import deque
# 수빈 위치, 동생 위치
N, K = map(int,input().split())
# 거리 문제니깐 que
def gogo(N,K):
dist = [0] * (10 ** 5 + 1)
deq = deque([N])
while deq:
# 현 위치
c = deq.popleft()
# 잡았다?
if c == K:
print(dist[K])
break
# 잡으로 가자
for n in [c-1,c+1,c*2]:
# 범위 내에 있고 그 위치에 간 적이 없어야 함
if 0 <= n <= 10**5 and not dist[n]:
# 이동 횟수
dist[n] = dist[c] + 1
deq.append(n)
gogo(N,K)
728x90
반응형
'TIL - 프로그래밍 > Python 알고리즘' 카테고리의 다른 글
[프로그래머스] Lv.1 숫자 문자열과 영단어 - Python (0) | 2022.06.04 |
---|---|
[프로그래머스] Lv.1 로또의 최고 순위와 최저 순위 - Python (0) | 2022.06.04 |
[프로그래머스] Lv.2 수식 최대화 - Python (0) | 2022.06.02 |
[프로그래머스] Lv.1 키패드 누르기 - Python (0) | 2022.06.02 |
[백준] 2841. 외계인의 기타 연주 - Python (0) | 2022.06.01 |
댓글