본문 바로가기

코딩테스트 공부/백준_그리디 알고리즘

[백준 11279 파이썬]

최대힙을 구현하는 문제이다. 

파이썬의 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