최대 힙 기본 구조 활용
알고리즘: Max Heap
import sys, heapq
max_heap = []
n = int(sys.stdin.readline())
for i in range(n):
num = int(sys.stdin.readline()) * -1
if num == 0:
print(heapq.heappop(max_heap) * -1 if max_heap else 0)
else:
heapq.heappush(max_heap, num)
이번 문제도 heapq 모듈을 활용하여 풀었다
heapq는 최소힙으로 구현되어 있기 때문에 최대힙을 풀기 위해서는 주어진 숫자에 -1을 곱하여
역순으로 list에 들어갈 수 있도록 하면 된다
출력 시에 다시 -1을 곱해 원래 숫자로 돌려주면 끝!
print(heapq.heapop(max_heap) * -1 if max_heap else 0)
처럼 프린트문 안에서도 if - else 연산이 가능하다 띠용용 😮if list else
로도 가능한 것이었다! boolean인건가..?