본문 바로가기

프로그래머스 퀴즈(Python)/level 3

23.05.03 파이썬 코딩 퀴즈#237 부대복귀 (프로그래머스 스쿨)

이번 문제는 부대복귀 문제이다.

level3 에 맞춰서 몇가지 변수들이 주어진다.

n, roads 는 이미 친숙한 요소이지만, sources 와 destination 이 추가로 전달된다.

이제 해당 sources의 한 요소에서 출발해서 destination으로 가는 최단 거리를 answer에 담아 반환하면 된다. 만약 길이 존재하지 않는다면 -1을 담아서 반환해야 한다.

해당 문제는 sources에서 출발하여 접근하면 시간초과에 걸리는 문제이다.

역으로 destination 에서 출발하여 각 지점에 이르는 최소 거리를 계산한 뒤, answer에는 계산한 최소 거리를 담아서 return 하는게 효율적이다.

level3 문제이지만, 생각을 한번 뒤집음으로써 level2 수준의 문제가 된다.