문제 링크: https://www.acmicpc.net/problem/13549
백준 알고리즘 기초 2/2 610에서 4번째 - 13549번 숨바꼭질 3을 풀어보았다.
풀이: https://jshong1125.tistory.com/29
C++
Python
from collections import deque
n, k = map(int, input().split())
q = deque()
q.append(n)
visited = [-1 for _ in range(100001)]
visited[n] = 0
while q:
s = q.popleft()
if s == k:
print(visited[s])
break
if 0 <= s-1 < 100001 and visited[s-1] == -1:
visited[s-1] = visited[s] + 1
q.append(s-1)
if 0 < s*2 < 100001 and visited[s*2] == -1:
visited[s*2] = visited[s]
q.appendleft(s*2)
if 0 <= s+1 < 100001 and visited[s+1] == -1:
visited[s+1] = visited[s] + 1
q.append(s+1)
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
트리 순회 풀이 (0) | 2023.02.09 |
---|---|
알고스팟 풀이 (0) | 2023.02.09 |
이모티콘 풀이 (0) | 2023.02.09 |
숨바꼭질 4 풀이 (0) | 2023.02.08 |
숨바꼭질 풀이 (0) | 2023.02.08 |