반응형
문제
https://www.acmicpc.net/problem/16928
풀이
BFS로 풀이할 수 있는 문제입니다.
뱀과 사다리가 있기 때문에 해당 칸에 도착했을 시, 뱀이나 사다리가 있다면 이동시켜주어야 합니다.
저는 [Int: Int] 형태의 Dictionary를 사용해서 뱀과 사다리의 정보를 담아주었습니다.
그 이후 BFS 코드를 작성할 때, 현재 위치에서 주사위를 굴려 +1 ~ +6 으로 이동할 수 있습니다.
이동한 곳에 뱀과 사다리가 있다면 해당 위치로 이동하여야 합니다.
이동한 곳의 칸이 Dictionary의 키로 존재한다면 뱀이나 사다리가 위치하고 있는 것이므로,
뱀과 사다리를 통해 갈 수 있는 칸으로 이동시켜 주었고, 그곳을 방문처리 하였습니다.
뱀이나 사다리가 없다면, 일반적인 칸이므로 그냥 이동시켜주고, 방문처리 하였습니다.
소스코드
후기
BFS로 풀 수 있는 문제였습니다.
뱀이나 사다리를 동시에 갖고 있는 경우는 없기 때문에 Dictionary를 떠올렸습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 1707 이분 그래프 (Swift) (0) | 2023.04.27 |
---|---|
[BOJ] 백준 2206 벽 부수고 이동하기 (Swift) (0) | 2023.04.27 |
[BOJ] 백준 7569 토마토 (Swift) (0) | 2023.04.27 |
[BOJ] 백준 7576 토마토 (Swift) (0) | 2023.04.27 |
[BOJ] 백준 7562 나이트의 이동 (Swift) (0) | 2023.04.27 |