반응형
풀이
- 최소힙 , 최대힙 문제와 비슷한 절댓값 힙 문제이다.
- 파이썬에서 힙은 heapq 모듈을 통해 쉽게 구현할 수 있다.
- 음수와 양수를 모두 입력받고 절댓값이 작은 값을 내보내므로 힙에 (입력값의 절댓값 , 정수 값) 으로 저장한다.
- 이후 입력값이 절댓값 기준으로 pop을 진행하면 정답
import sys
import heapq
heap = []
n = int(sys.stdin.readline())
for _ in range(n):
m = int(sys.stdin.readline())
if m == 0:
if len(heap) == 0:
print(0)
else:
print(heapq.heappop(heap)[1])
else:
if m > 0:
heapq.heappush(heap, (m,m))
elif m < 0:
heapq.heappush(heap, (-m , m))
반응형
'코딩 > 백준' 카테고리의 다른 글
알고리즘 - Python / 백준 - 1931번 : 회의실 배정 (0) | 2021.08.25 |
---|---|
알고리즘 - Python / 백준 - 1541번 : 잃어버린 괄호 (0) | 2021.08.25 |
알고리즘 - Python / 백준 - 11279번 : 최대 힙 (0) | 2021.08.24 |
알고리즘 - Python / 백준 - 1927번 : 최소 힙 (0) | 2021.08.24 |
알고리즘 - Python / 백준 - 11724번 : 연결 요소의 개수 (0) | 2021.08.24 |