본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 11286번 절댓값 힙

by 현장 2022. 1. 20.

-코드

import heapq
from sys import stdin
heap = []
for _ in range(int(stdin.readline())):
    n = int(stdin.readline())
    if n == 0:
        if len(heap) == 0:
            print(0)
        else:
            print(heapq.heappop(heap)[1])
    else:
        if n > 0:
            heapq.heappush(heap, [n, n])
        else:
            heapq.heappush(heap, [-n, n])

처음에 최솟값 힙이랑 비슷하게 짜고 다시 봤더니 절댓값이어서 구분을 어떻게 하나 고민을 하다가 결국 해결되지 않아 찾아본 결과 그냥 리스트로 음수 양수로 받아들여서 출력을 하면 되는 것을 알게 되고 해결을 하였습니다.