파이썬의 heapq는 최소힙만 사용가능하다.
최소힙만 가능한 상황에서 최대힙을 사용하고 싶으면 heappush에서 (-1 * 값, 값) 을 넣어주면된다.
heappop 시에는 반환값의 인덱스 1 값을 사용하면 원래의 값을 이용할 수 있다.
import sys
import heapq
t = int(input())
h = []
for _ in range(t):
inn = int(sys.stdin.readline())
if not inn and h:
r = heapq.heappop(h)
print(r[1])
elif not inn and not h:
print(0)
else:
heapq.heappush(h,(-1*inn,inn))
'백준' 카테고리의 다른 글
절댓값 힙 - 11286번 (0) | 2022.10.31 |
---|---|
후위 표기식 - 1918번 (0) | 2022.10.31 |
최소 힙 - 1927번 (0) | 2022.10.31 |
덩치 - 7568번 (0) | 2022.10.31 |
최대공약수와 최소공배수 - 2609번 (0) | 2022.10.30 |
댓글