[Python] 백준12851 숨바꼭질 2

[Python] 백준12851 숨바꼭질 2

백준12851 숨바꼭질 2 링크

문제

문제

예제 입력

예제


코드

from collections import deque

n, k = map(int, input().split())
arr = [float("inf")] * 100001
ans = 0

def bfs(st):
    global ans
    q = deque()
    q.append(st)
    arr[st] = 0

    while q:
        pos = q.popleft()

        if pos == k:
            ans += 1

        for new in [pos-1, pos+1, pos*2]:
            if 0 <= new <= 100000 and arr[new] >= arr[pos] + 1:
                arr[new] = arr[pos] + 1
                q.append(new)

bfs(n)
print(arr[k])
print(ans)

# TypeError: 'int' object is not subscriptable
# 정수형(int)에서 ‘인덱싱' 및 ‘슬라이싱'을 시도하려고 할 때 만나는 에러

설명

파이썬을 통해서 사용자로부터 입력받아 BFS알고리즘을 사용하여 숨바꼭질 2를 구현했습니다.


결과

결과


© 2022. All rights reserved. 신동민의 블로그