81302 거리두기 확인하기
81302. 거리두기 확인하기 / c++ / level2 / 35분
문제 및 코드
접근 방식
BFS
- 하나의 응시자를 기준으로 거리가 2이하이고, 칸막이로 가려져 있지 않은 응시자를 판별해야하는 문제
- BFS의 조건으로 해당 칸 == ‘X’ (칸막이로 가려져 있는 경로) 인 경우은 탐색을 중지하도록 추가
- 해당 칸의 비용이 2보다 작을 때만 큐에 삽입하는 식으로 해결
생각해 볼 점
- 기본적으로 그래프의 탐색이므로 BFS를 깔아두고 접근했고, 칸막이와 거리를 BFS의 조건으로 추가했더니 생각보다 간단하게 문제가 풀렸다.
- 코드를 치기 전에 문제를 충분히 분석하고 유형을 파악해야한다는 것을 다시 한번 깨달았다.