본문 바로가기

프로그래밍/백준

백준 11279 최대힙 - 파이썬

풀이.

파이썬의 heapq 라이브러리를 사용했는데 heapq라이브러리는 기본적으로 최소힙이다.

즉 최대힙을 사용하려면 heappush를 할때 (-n, n)의 튜플 형태로 넣어서 문제를 풀어야한다.

 

소스코드.

import sys
import heapq

N = int(sys.stdin.readline())

queue = []
for i in range(N):
    n = int(sys.stdin.readline())
    if n >= 1:
        heapq.heappush(queue, (-n, n))
    elif n == 0:
        try:
            print(heapq.heappop(queue)[1])
        except:
            print(0)