[파이썬 알고리즘 문제풀이] - Section5 / 자료구조 활용(힙) -11

Chooooo·2023년 2월 1일
0

이전 문제 최대힙으로 변형
heappush를 하면 무조건 최소힙으로 만들어낸다.
heappop을 해서 하나를 꺼내도 최소힙을 만들어낸다.

  • 최대힙은 그냥 삽입할 때 부호를 바꿔서 넣어! 그리고 출력할 때 역시 부호를 바꿔서 출력해주면 끝 !!!
import sys
from collections import deque
import heapq as hq
sys.stdin = open("input.text", "rt")
# input = sys.stdin.readline

data = []
while True:
    n = int(input())
    if n == -1:
        break
    if n == 0:
        if len(data) == 0: #최소힙 자료구조 비어있음
            print(-1)
        else:
            print(-hq.heappop(data))
    else:
        hq.heappush(data, -n) #최소힙의 형태로 삽입

🎈코멘트
부호를 바꿔서 넣고, 출력할 떄 다시 부호를 바꿔서 넣기!

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글