Skip to content

Commit fc91986

Browse files
committed
[BOJ] 숨바꼭질 / 실버 1 / 20분
https://www.acmicpc.net/problem/1697
1 parent d1a58d9 commit fc91986

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import sys
2+
from collections import deque
3+
4+
inp = sys.stdin.readline
5+
6+
N, K = map(int, inp().strip().split())
7+
# 해당 위치로 도달한 최소 시간 저장
8+
visited = [-1] * (100_000 + 1)
9+
visited[N] = 0
10+
11+
# (위치, 시간) 형식
12+
queue = deque()
13+
queue.append(N)
14+
15+
dx = [-1, 1, 2]
16+
17+
while queue:
18+
loc = queue.popleft()
19+
20+
# 수빈이가 동생에게 도착했다면 종료
21+
if loc == K:
22+
print(visited[loc])
23+
break
24+
25+
# 수빈의 위치에서 3가지 이동
26+
for i in range(3):
27+
if i == 2:
28+
new_loc = loc * dx[i]
29+
else:
30+
new_loc = loc + dx[i]
31+
32+
# 새 위치가 범위 안이고 아직 방문하지 않았다면
33+
if 0 <= new_loc <= 100_000 and visited[new_loc] == -1:
34+
queue.append(new_loc)
35+
visited[new_loc] = visited[loc] + 1
36+
37+

0 commit comments

Comments
 (0)