https://school.programmers.co.kr/learn/courses/30/lessons/42626
import heapq
#삽입
heapq.heappush(리스트, 원소)
#삭제
heapq.heappop(리스트)
#list to heapq
heapq.heapify(리스트)
#
import heapq
heap = [1, 3, 5, 7, 9]
max_heap = [] #빈 리스트 준비
for h in heap:
heapq.heappush(max_heap, (-h, h))
#이러면 출력이 max_heap = [(-9, 9), (-7, 7), (-5, 5), (-3, 3), (-1, 1)]
max_item = heapq.heappop(max_heap)[1] #최대값은 튜플의 두번째에 있으므로
from heapq import nsmallest #n개의 작은것들 반환
from heapq import nlargest #n개의 큰것들 반환
#각각 그중 마지막 원소가 최소, 최댓값.
nsmallest(3, [4, 1, 7, 3, 8, 5])[-1]
nlargest(3, [4, 1, 7, 3, 8, 5])[-1]
#이런식으로 사용