현제의 현재이야기

<2022모각코/TIL> [백준/python] 5566 - 주사위 게임 본문

algorithm/HUFS 2022 하계 모각코

<2022모각코/TIL> [백준/python] 5566 - 주사위 게임

현재의 현제 2022. 8. 10. 23:52
n, m = tuple(map(int, input().split()))
order = [
    int(input())
    for _ in range(n)
]

dice = [ 
    int(input())
    for _ in range(m)
]

pointer = 0
cnt = 0

for i in dice:
    cnt += 1
    pointer += i
    if pointer >= n - 1:
        print(cnt)
        break
    pointer += order[pointer]
    if pointer >= n - 1:
        print(cnt)
        break

알고리즘 :

1. pointer를 만들고 주사위가 나오는 숫자를 더해주고, 한번 검사 (검사하지 않으면 두번째 테케에서 인덱스 오류남)

2. 그리고 포인터가 n - 1 보다 작으면 포인터에 현재 있는 칸의 지시사항을 더한다. 그리고 한번 더 검사.

 검사가 반복되니깐 함수로 만들어도 될 것 같다.

 

브론즈 문제라고 얕봤다가 생각보다 오류날 수 있는 포인트가 많아서 놀란 문제. 검사를 하나만 넣었다가 한번 틀리고 두 번째 더하고 검사 넣었더니 되었다. 자만하지말고 디버깅을 잘 해보자

Comments