본문 바로가기

Programming [Python]/백준 알고리즘 솔루션

#105 백준 파이썬 [11279] 최대 힙

https://www.acmicpc.net/problem/11279

 

#Solution

heapq를 활용하지만 이 함수는 min heap만을 지원한다. 따라서 num을 음수로 만들어줘 최대값을 출력한다.

import sys
import heapq

numbers = int(input())
heap = []

#Max Heap
for _ in range(numbers):
    num = int(sys.stdin.readline())
    if num != 0:
        heapq.heappush(heap, (-num))
    else:
        try:
            print(-1 * heapq.heappop(heap))
        except:
            print(0)