이번에 풀어볼 문제는 큐의 절댓값 힙 문제이다.
해당 문제에 대한 링크는 아래에서 확인할 수 있다.
https://www.acmicpc.net/problem/11286
11286번: 절댓값 힙
첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
1. 문제 확인
2. 문제 풀이
from queue import PriorityQueue
import sys
input = sys.stdin.readline
queue = PriorityQueue()
n = int(input())
for i in range(n):
now = int(input())
if now != 0:
if now > 0:
queue.put([now, 1])
else:
queue.put([now*-1, -1])
else:
if queue.empty():
print(0)
else:
arr = queue.get()
if arr[1] == 1:
print(arr[0])
else:
print(arr[0]*-1)
'security > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 23단계 동적 계획법 2- 파일 합치기(11066번) Python (0) | 2021.06.01 |
---|---|
백준 알고리즘 23단계 동적 계획법 2- 동전1(2293번) Python (0) | 2021.06.01 |
백준 알고리즘 21단계 이분 탐색 - 가장 긴 증가하는 부분 수열2 (12015번) Java (0) | 2021.05.25 |
백준 알고리즘 20단계 분할 정복- 행렬 곱셈 (2740번) Java (0) | 2021.05.18 |
백준 알고리즘 19단계 큐, 덱- 요세푸스 문제 0 (11866번) Python (0) | 2021.05.04 |
댓글