데이터를 정렬된 상태로 저장하기 위해 사용하는 파이썬의 내장 모듈인 heapq에 대해 알아보자. heapq 모듈은 binary tree 기반의 min heap 자료구조를 제공한다. min heap을 사용하면 원소들이 항상 정렬된 상태로 추가되고 삭제되며, min heap에서 가장 작은 원소의 값은 언제나 binary tree의 루트(인덱스 0)에 위치한다. 내부적으로 min heap 내의 모든 원소(k)는 항상 자식 원소들(2k+1, 2k+2) 보다 크기가 작거나 같도록 원소가 추가, 삭제된다. 아래의 그림으로 위의 조건을 만족시키는 간단한 min heap 구조를 보자. 우선 heapq를 사용하기 위해서는 다음과 같이 import 후 관련 함수를 사용할 수 있다. import heapq 파이썬에서는 보통..