https://www.acmicpc.net/problem/11286
#Solution
#105, #106번에 다뤘던 힙 문제와 똑같다. 다만 heap을 tuple로 구성했을 때 맨 앞 숫자만 가지고 정렬하므로 앞은 abs(절대값) 내장 함수를 써주고 두 번째는 원래 수를 써줌으로써 절댓값 정렬을 할 수 있게 한다.
import sys
import heapq
numbers = int(input())
heap = []
for _ in range(numbers):
num = int(sys.stdin.readline())
if num != 0:
heapq.heappush(heap, (abs(num), num))
else:
try:
print(heapq.heappop(heap)[1])
except:
print(0)
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#109 백준 파이썬 [1874] 스택 수열 (0) | 2019.09.27 |
---|---|
#108 백준 파이썬 [1655] 가운데를 말해요 - 힙, 우선순위 큐 (0) | 2019.09.27 |
#106 백준 파이썬 [1927] 최소 힙 (0) | 2019.09.26 |
#105 백준 파이썬 [11279] 최대 힙 (0) | 2019.09.26 |
#104 백준 파이썬 [1766] 문제집 - 위상정렬 + 힙 (0) | 2019.09.24 |