반응형
https://www.acmicpc.net/problem/11286
import heapq, sys
n = int(sys.stdin.readline())
heap = []
for _ in range(n):
x = int(sys.stdin.readline())
if x == 0: # 절대값이 가장 작은 값 출력
if len(heap) == 0:
print(0)
else:
print(heapq.heappop(heap)[1])
else: # 힙에 값 추가
heapq.heappush(heap, (abs(x), x))
1. 정수 x를 입력받는다.
2. x가 0인 경우 절대값이 가장 작은 값을 출력한다.
3. x가 0이 아닌 경우 힙에 값을 추가한다.
3-1. 이 때 값을 추가할 때 절대값이 가장 작은 값이 우선순위가 높아질 수 있도록 (절대값(x), x) 튜플 형식으로 힙에 값을 추가한다.
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준/Python] 회전하는 큐 (0) | 2021.11.03 |
---|---|
[백준/Python] 시리얼 번호 (0) | 2021.10.31 |
[백준/Python] 카드 (0) | 2021.10.13 |
[백준/Python] 요세푸스 문제 0 (0) | 2021.10.10 |
[백준/Python] 후위 표기식2 (0) | 2021.10.07 |