최대힙을 구현하는 문제이다.
파이썬의 heapq를 import해서 구현했다.
최소힙을 구현하는 방식과 같지만 heapq.heappush를 할 때 -부호를 붙혀주고 출력할 때도 -를 붙혀주면 된다.
시간 초과가 뜬다면 input() 대신 sys를 import 하고 sys.stdin.readline() 를 쓰면된다.
import heapq
n=int(input())
data=[int(input()) for _ in range(n)]
max_heap=[]
for value in data:
if value ==0 :
if max_heap==[] :
print(0)
else:
print(-(heapq.heappop(max_heap)))
else :
heapq.heappush(max_heap,-value)
'코딩테스트 공부 > 백준_그리디 알고리즘' 카테고리의 다른 글
[백준 11866 파이썬] (0) | 2022.01.16 |
---|---|
[백준 1051 파이썬] (0) | 2022.01.15 |
[백준 1927 파이썬] (0) | 2022.01.13 |
[백준 11000 파이썬] (0) | 2022.01.13 |
[백준 1715 파이썬] (0) | 2022.01.13 |