https://www.acmicpc.net/problem/13565
전형적인 bfs 문제풀이 방식으로 해결 가능하다.
다만 특징은, 첫번째 행에서 시작한 것이 마지막 행까지 도착하는 지를 체크해야한다. 다른 행에서 시작하는 것은 의미가 없다.
bfs 문제라는 것을 파악 후, 생각없이 전형적인 bfs코드를 거의 다 썼을 때쯤 잘못된 것을 깨달았다.
보통의 문제라면 어느 행이든 상관없이 bfs 탐색을 시작해주면 됐는데, 이 문제는 첫번째 행에서 시작한 것만 인정이 되어야 한다.
그래서 코드를 짧게 다시 짜려다가, 빠르게 끝내려다보니, 그냥 for i in range(n)의 n을 1로 바꿔주었다. 사실상 여기서는 이중 반복문은 필요가 없는 것이다 (첫째 행만 확인할 것이기 때문!)
지나간 인덱스를 모두 ans이라는 새로운 리스트에 넣어주고, 그 리스트 안에 마지막 행을 요소로 가지고 있는 인덱스 원소가 있다면, 그것은 끝(마지막 행)까지 도착했다는 의미이므로, YES를 출력하고 끝내면 된다.
'Koala - 7기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 1926 그림 (0) | 2022.08.30 |
---|---|
[백준/Python] 17249 파이썬 (0) | 2022.08.30 |
[백준/python] 1110번 더하기 사이클 (0) | 2022.08.28 |
[백준/C++] 9663 N-Queen (0) | 2022.08.27 |
[백준/Python] 11383번 뚊 (0) | 2022.08.22 |