문제설명
정수들을 입력받아서 0을 입력받은 경우 배열의 최소값을 pop하고 출력하고 0이외의 숫자가 들어오면 배열에 추가하는 문제입니다.
작동 순서
1. 몇번 반복할지를 입력받습니다.
2. x를 입력받습니다.
3. x가 0인경우 힙에서 가장 작은 원소를 pop하고 출력합니다.
4. x가 0이 아닌 경우 힙에 x를 삽입합니다.
소스코드
import sys
import heapq
heap = []
n = int(sys.stdin.readline())
for i in range(n):
x = int(sys.stdin.readline())
if x == 0:
print(heapq.heappop(heap) if len(heap) > 0 else 0)
else:
heapq.heappush(heap, x)