728x90
반응형
문제요약 (11286.절대값 힙)
배열에서 절댓값이 가장 작은 값을 출력한다. 절대값이 같은 경우에는 가장 작은 수(음수)를 먼저 출력한다.
파이썬에서 절댓값을 구하는 함수는 abs()이다.
풀이를 위한 부연 설명
- 우선순위 큐 ( Priority Queue )
- 원소들의 우선순위별로 정렬한다.
- 원소의 우선순위를 설정하여 값을 추가하는 put과, 값을 반환하는 get이 있습니다.
- 우선순위 큐를 이용하면 문제에서 해당하는 값을 넣을 수 있습니다.
- (우선순위, 값) 형태로 젖아함
- 우선순위 큐에 대한 자세한 개념 설명과 연관 문제는 다음 링크를 참고하면 된다.
코드
import sys
input = sys.stdin.readline
from queue import PriorityQueue
n = int(input())
que = PriorityQueue()
for _ in range(n):
num = int(input())
if num == 0:
if que.empty():
print(0)
else:
print(que.get()[1])
else:
que.put((abs(num), num))
기억할 점
- 우선순위 큐에 값을 넣을 때는 (우선순위, 값) 순으로 넣어야합니다.
반응형
'코딩 테스트 > 파이썬 문제 풀이' 카테고리의 다른 글
[백준] 16113번 파이썬 - 문자열, 구현 (1) | 2024.01.25 |
---|---|
[백준] 1931번 파이썬 - 그리디 (0) | 2024.01.19 |
[백준] 2252번 파이썬 - 위상 정렬 (0) | 2024.01.19 |
[백준] 1976번 파이썬 - BFS (유니온파인드) (0) | 2024.01.17 |
[백준] 1717번 파이썬 - 유니온파인드 (0) | 2024.01.17 |