이리저리 할게 많으니 머리가 아파서 잠시 쉬어가고자 푼 브론즈 단계 문제다.
내가 '칸'에 대한 공포가 있어서 극복하고자 칸이 들어가는 문제를 풀었다.
물론 bfs, dfs 문제가 아닌 구현 문제지만.
보드 게임의 보드는 N칸으로 이루어져 있고, 출발점은 1번째 칸, 도착점은 N번째 칸이다.
각 칸에는 얼만큼 이동해야하는지가 쓰여있다. 도착점에 다다르면 끝.
달팽이는 올라가고싶다 문제와 비슷한 느낌인 것같았다.
입력으로 1번째 줄에 n, m이 나오고,
2번째 줄부터 n+1번째 줄까지 각 칸에 적힌 지시사항의 숫자가 나온다.
n+2번째부터 n+1+m번째 줄까지 m번만큼 굴린 주사위 눈금이 차례로 주어진다.
이 때, 도착점에 다다르기 위해선 주사위 굴리는 횟수가 m번까지 가야할 수도 있고 그 전에 끝날 수도 있다.
우리가 출력해야하는 값은 도착점에 다다르기까지 주사위를 굴린 횟수이다.
칸의 위치를 나타내는 start와, 반복문에서 사용하기 위한 i를 선언한다.
while 문으로 무한 반복문을 돌려주고 start 값이 마지막 칸인 n을 지나서면 break한다.
계속 board 안에 머무는 경우에는 굴린 횟수대로 차례로 이동, 보드의 지시사항대로 이동을 차례로 반복.
그렇게 하다보면 반드시 조건문에 걸리기 때문에 반복문에서 빠져나오게 된다.
'공부 > 백준' 카테고리의 다른 글
[백준] 25191번 (0) | 2022.06.15 |
---|---|
[백준] 1463번 (0) | 2022.06.15 |
[백준] 2753번 (0) | 2022.06.15 |
[백준] 1929번 (0) | 2022.06.15 |
[백준] 2108번 (0) | 2022.06.15 |