최대힙

생성일: 2022년 1월 29일 오후 6:11

구현 코드

# 최대힙
import sys
import heapq
sys.stdin = open("input.txt", "rt")

heap = []

while True:
    num = int(input())
    if num == -1:
        break
    elif num == 0:
        res = -(heapq.heappop(heap))
        print(res)
    else:
        heapq.heappush(heap, -num)
  • 파이썬의 heapq는 기본적으로는 최소힙만 제공한다.
  • 따라서 최대힙의 기능을 원한다면 넣는 아이템의 부호를 바꾸어서(여기서는 음수로 만들어서) 넣는다면 최대힙처럼 최소힙을 사용 할 수 있다.

좋은 웹페이지 즐겨찾기