문제풀이
파이썬에서 heapq 의 디폴트는 최소힙이므로 첫번째 원소에는 절대값으로 변환한 input을 넣어주고 첫번째 원소가 같다면 두번째 원소를 기준으로 pop이 되므로 최소값을 출력하기 위해서는 그대로 input을 넣어주면 되었습니다.
import sys
import heapq
input = sys.stdin.readline
num = int(input())
heap = []
for i in range(num) :
target= int(input())
if target == 0 :
if heap :
ans = heapq.heappop(heap)
print(ans[1])
else :
print(0)
else :
heapq.heappush(heap,(abs(target),target))
'공부기록 > 자바스크립트 코딩테스트' 카테고리의 다른 글
[백준/Python] 1655 가운데를 말해요 (0) | 2022.07.05 |
---|---|
[백준/Python] 2075번 N번째 큰수 (0) | 2022.07.05 |
[백준/Python] 11279 최대힙 (0) | 2022.07.04 |
[백준/Python] 2696번 중앙값 구하기 (0) | 2022.07.04 |
[백준/Python] 21939 문제 추천 시스템 Version 1 (0) | 2022.07.04 |