나는 보자마자 다익스트라 알고리즘으로 풀면 되겠구나 싶었다.
내가 생각한 풀이 방식은 다음과 같다.
- 1번 마을로 부터 모든 마을에 대한 배달 시간을 요구하고 있다.
- One to Many의 방식이므로, 다익스트라가 적합하다.
- 다익스트라로 풀기 위해 주어진 입력을 인접 리스트로 구현한다.
- 이 때, 양방향 그래프이므로 양 쪽 모두 추가해야 한다.
- 모두 구해진 거리 배열에서 K 이하인 마을의 수만 세주면 된다.
물론 다르게 푸는 방법도 많이 존재할 것이다.