728x90
반응형
1. 문제요약 (11286.절대값 힙)
배열에서 절댓값이 가장 작은 값을 출력한다. 절대값이 같은 경우에는 가장 작은 수(음수)를 먼저 출력한다.
파이썬에서 절댓값을 구하는 함수는 abs()이다.
11286번: 절댓값 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
2. 풀이를 위한 부연 설명
- 우선순위 큐 ( Priority Queue )
- 원소들의 우선순위별로 정렬한다.
- 원소의 우선순위를 설정하여 값을 추가하는 put과, 값을 반환하는 get이 있습니다.
- 우선순위 큐를 이용하면 문제에서 해당하는 값을 넣을 수 있습니다.
- (우선순위, 값) 형태로 젖아함
- 우선순위 큐에 대한 자세한 개념 설명과 연관 문제는 다음 링크를 참고하면 된다.
[코테 알고리즘] 파이썬 기본 / 관련 문제
본 글은 "나동빈"님의 [이것이 코딩 테스트다]를 참고하여 작성하였으며, 필자가 직접 문제를 풀며 관련된 문제들을 찾아 정리하였습니다. 파이썬 기본 수 자료형 round 반올림 round(실수형 데이터
daradarav.tistory.com
3. 코드
<python />
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))
4. 기억할 점
- 우선순위 큐에 값을 넣을 때는 (우선순위, 값) 순으로 넣어야합니다.
반응형
'코딩 테스트 > 파이썬 문제 풀이' 카테고리의 다른 글
[백준] 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 |