Problem : 인구이동
유형 : 시뮬레이션, BFS
문제 해석
- 인구 이동의 횟수를 구하라
문제 재해석
- 연합이 만들어진 횟수를 구하라.
해결 전략 (15)
- 한 나라씩 전부 BFS를 진행한다.
- 한번이라도 연합이 만들어 졌다면, 인구 이동이 일어난 것으로 한다.
설계 (5), 구현 (20)
- 방문하지 않았던 나라라면, 큐에 넣고 BFS를 진행한다.
- BFS중 큐에 들어갔던 나라들은 연합을 이루는 나라이다.
- 연합을 구성하는 나라가 1개라면 연합 구성에 실패했다.
- 연합을 구성하는 나라가 2개 이상이라면, 평균 값을 대입해준다.
주의할 점
- 소수점은 버린다.
- 모든 나라에 대해서 BFS 를 시도 한뒤, 방문 표시를 초기화 해주어야 한다.
코드
1 |
|
피드백
- 문재 해석에 시간이 걸렸다.
- 평균값 대입해주는 while 문에서 실수 했었다.
디버깅 3분 소요