Problem : 숨바꼭질
유형 : 그래프, BFS
문제 해석
- 1번 헛간으로부터 가장 멀리 떨어진 헛간과, 그 중에서 가장 작은 번호의 헛간, 헛간의 개수를 구하라.
문제 재해석
- 연결 그래프라는 조건이 있다.
1번
헛간으로부터의 거리를 재는 것이다.
해결 전략
1번
헛간으로부터의 거리를 구하는 것이므로,BFS
로 풀어야 한다.
설계, 구현
- 인접 리스트를 이용하여 그래프 노드간의 관계를 설정한다.
- 1번 노드부터
BFS
를 이용해 그래프를 순회한다. - 각 거리에 따른 헛간 번호들을 저장해둔다.
- 가장 먼 헛간을 구했으면, 정렬후 답을 구한다.
주의할 점
- 거리를 잴 때, 마지막 단계
(아무 곳도 못 가는 단계)
에서dist
가1
증가한다. - 마지막에
dist
를-1
해어야 진짜max_dist
를 구할 수 있다.
코드
1 |
|
피드백
- 이런 쉬운 문제도 푸는데 30분이 걸렸다.
- 집중해서 빠르게 문제를 풀도록 하자.