SWEA 문제 모음: https://swexpertacademy.com/main/code/problem/problemList.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
일반적인 BFS에서 주어진 시간동안 얼마나 이동할 수 있는지 보면 되는데, 해당 방향으로 파이프가 연결되었다고 해서 무조건 이동할 수 있는 것이 아니다. 이동하고자 하는 칸에 파이프가 있는지, 있다면 원래 위치와 연결되어 있는지 확인하고 이동해야 한다.(line 39~40) 현재 시간 이전에 이미 방문했던 칸이면 다시 볼 필요가 없으니 큐에 넣어주지 말자.
예제 1을 보면 매 시간마다 이동하지 않아도 되는 것 같은데, 어차피 최대 이동할 수 있는 경우를 체크해야 하니 무시하자.
원래는 line 30에서 visited[cur_r][cur_c] = True로 바꿔주면서 지금까지 이동한 곳 개수를 +1 해주는 방식으로 짰는데, 2번째 예제에서 실제 정답과 다르게 저장이 되는 문제가 있었다. visited 내 True 개수를 출력하도록 하니 되던데, 뭐가 문제지...?
'알고리즘 문제풀이 > SWEA(모의 SW 역량테스트)' 카테고리의 다른 글
[모의 SW 역량테스트] 수영장 (0) | 2022.09.27 |
---|---|
[모의 SW 역량테스트] 특이한 자석 (0) | 2022.09.27 |
[모의 SW 역량테스트] 요리사 (0) | 2022.09.27 |