https://www.acmicpc.net/problem/11286
heapq 모듈을 사용하는 문제
처음에 문제를 잘못 이해해서 heappush()를 할 때 절댓값으로 push를 했다..
예제 실행할 때 결과가 원하는대로 안 나와서 다시 문제를 보니 "절댓값을 기준으로" 가장 작은 값을 추출하는 것이었습니다.
어떤 방식으로 문제를 풀까 고민하다가, 저장을 할 때 튜플로 입력값과 입력값의 절대값을 저장하여 입력값만 추출하는 방식으로 풀었습니다.
heapq.heappush(heap, (abs(x),x))
절댓값을 기준으로 값을 뽑아야하기 때문에 절댓값을 앞에 선언해 저장해야 합니다.
print(heapq.heappop(heap)[1] if heap else 0)
그리고 원래 값만 추출하면 되기 때문에 heappop()[1]
import sys, heapq
input = sys.stdin.readline
heap = []
for i in range(int(input())):
x = int(input())
if x != 0:
heapq.heappush(heap, (abs(x),x))
else:
print(heapq.heappop(heap)[1] if heap else 0)