프로그래머스에 있는 힙(Heap) 문제이다. 처음에 문제를 읽었을 때 아래 코드와 같이 리스트를 정렬해가면서 해결하면 되겠다 생각을 했다.
하지만 이렇게 코드를 구현했을 때, 정확성에서는 완벽했지만 효율성 테스트에서 시간초과를 통과하지 못했다.
그래서 검색 결과, 파이썬의 내장 자료구조인 heapq
라는 것을 발견해 사용하였다. 코드는 아래와 같다.
이렇게 파이썬의 내장모듈인 heapq
를 사용하면 시간복잡도가 O(logN)으로 sort()를 사용한 O(N)보다 효율적으로 문제를 해결할 수 있다.