Files
baekjoon-study/workbook_8708/silver/1927-s2.py
2026-02-23 11:14:50 +09:00

35 lines
868 B
Python

# 최소 힙
import sys
import heapq
input = sys.stdin.readline
def solution():
n = int(input().rstrip())
h = []
for i in range(n):
v = int(input().rstrip())
if v == 0:
if len(h) == 0:
print(0)
continue
print(heapq.heappop(h))
else:
heapq.heappush(h, v)
return
solution()
"""
걸린 시간: 5분
시간 복잡도: heappush와 heappop 모두 현재 트리의 높이 즉, logn만큼 든다.
트리 길이가 점점 길어져서 n까지 가는 것이기 때문에 평균적으로 O(logn)이다.
n번 진행하기 때문에 전체 시간복잡도는 O(nlogn)이다.
해설: 대놓고 힙 써서 구현하라고 해서 쉬웠다.
0일때 pop하는데, 배열 길이가 0이면 0 출력하도록 설정
넣을때는 heappush, 뺄때는 heappop 하면 끝
"""