본문 바로가기
백준

최대 힙 - 11279번

by 청원뿔세포 2022. 10. 31.

파이썬의 heapq는 최소힙만 사용가능하다. 

최소힙만 가능한 상황에서 최대힙을 사용하고 싶으면 heappush에서 (-1 * 값, 값) 을 넣어주면된다.

heappop 시에는 반환값의 인덱스 1 값을 사용하면 원래의 값을 이용할 수 있다.

import sys
import heapq

t = int(input())
h = []
for _ in range(t):
  inn = int(sys.stdin.readline())
  if not inn and h:
    r = heapq.heappop(h)
    print(r[1])
  elif not inn and not h:
    print(0)
  else:
    heapq.heappush(h,(-1*inn,inn))

'백준' 카테고리의 다른 글

절댓값 힙 - 11286번  (0) 2022.10.31
후위 표기식 - 1918번  (0) 2022.10.31
최소 힙 - 1927번  (0) 2022.10.31
덩치 - 7568번  (0) 2022.10.31
최대공약수와 최소공배수 - 2609번  (0) 2022.10.30

댓글