본문 바로가기
Algorithm

[탐색/BFS] 백준 11060 점프 점프 - 파이썬(Python)

by jangThang 2023. 6. 30.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    11060번: 점프 점프

    재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     1칸부터 N칸까지 있으며 각 칸에 쓰인 숫자만큼 최대로 점프할 수 있습니다.

     

    2022.02.24 - [Algorithm] - [탐색/BFS] 백준 1697 숨바꼭질 - Python

     

    [탐색/BFS] 백준 1697 숨바꼭질 - Python

    [ Contents ] 1. 문제 (링크 참조) 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동

    star7sss.tistory.com

     숨바꼭질 문제와 비슷하며, BFS를 이용해서 풀 수 있습니다.

     

     

    3. 코드

    from collections import deque
    import sys
    input = sys.stdin.readline
    
    # 입력
    N = int(input())
    graph = list(map(int, input().split()))
    
    if N == 1:
        print(0)
    else:
        # bfs
        visited = [0]*(N+1)
        queue = deque([1])
        
        while queue:
            x = queue.popleft()
            if x + graph[x-1] >= N:
                print(visited[x]+1)
                break
            for i in range(1, graph[x-1]+1):
                nx = x+i
                if visited[nx] == 0:
                    queue.append(nx)
                    visited[nx] = visited[x]+1
        else:
            print(-1)

     N이 1일수도 있습니다. 1칸만 있다면 점프를 하지 않고도 도착할 수 있습니다.

     

    star가 되고나서 Tistory

    반응형

    댓글