차곡차곡

[BOJ/Python] 백준 5566번 - 주사위 게임 본문

CS/Algorithm

[BOJ/Python] 백준 5566번 - 주사위 게임

sohy 2022. 8. 15. 00:14

백준 #5566 주사위 게임

 

5566번: 주사위 게임

상근이는 혼자 보드 게임을 하고 있다. 이 보드 게임의 보드는 N칸으로 이루어져 있고, 출발점은 1칸, 도착점은 N칸이다. 각 칸에는 지시 사항이 적혀있다. 지시 사항은 말을 얼만큼 이동해야 하

www.acmicpc.net

import sys
input = sys.stdin.readline

n, m = map(int, input().split())   # m: 주사위 던진 횟수
bord = [int(input()) for _ in range(n)]   # 보드 각 칸의 지시 사항
dice = [int(input()) for _ in range(m)]   # 던져서 나온 주사위 번호

now = 0   # 현재 위치 index
cnt = 0   # 주사위 던진 횟수

for i in range(m):
  cnt += 1
  now += dice[i]
  if now >= n-1:
    break
  now += bord[now]
  if now >= n-1:
    break

print(cnt)
  1. 주사위 번호가 담겨있는 리스트를 돌며 주사위 위치만큼 이동했을 때 위치를 갱신해준다.
  2. 이때 해당 위치가 도착 위치 이상일 경우 for문을 빠져나온다.
  3. 미만일 경우 해당 위치에 적혀 있는 지시 사항을 수행한다.
  4. 지시 사항을 수행했을 때 위치가 도착 위치 이상일 경우 for문을 빠져나온다.

Comments