다라다라V
article thumbnail
728x90
반응형

문제요약 (11286.절대값 힙)

배열에서 절댓값이 가장 작은 값을 출력한다. 절대값이 같은 경우에는 가장 작은 수(음수)를 먼저 출력한다.

파이썬에서 절댓값을 구하는 함수는 abs()이다.

 

 

11286번: 절댓값 힙

첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0

www.acmicpc.net

 

풀이를 위한 부연 설명

  • 우선순위 큐 ( Priority Queue )
    • 원소들의 우선순위별로 정렬한다.
    • 원소의 우선순위를 설정하여 값을 추가하는 put과, 값을 반환하는 get이 있습니다.
  • 우선순위 큐를 이용하면 문제에서 해당하는 값을 넣을 수 있습니다.
    • (우선순위, 값) 형태로 젖아함
  • 우선순위 큐에 대한 자세한 개념 설명과 연관 문제는 다음 링크를 참고하면 된다.

 

 

[코테 알고리즘] 파이썬 기본 / 관련 문제

본 글은 "나동빈"님의 [이것이 코딩 테스트다]를 참고하여 작성하였으며, 필자가 직접 문제를 풀며 관련된 문제들을 찾아 정리하였습니다. 파이썬 기본 수 자료형 round 반올림 round(실수형 데이터

daradarav.tistory.com

 

코드 

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))

 

 

 

기억할 점

  • 우선순위 큐에 값을 넣을 때는 (우선순위, 값) 순으로 넣어야합니다.

 

반응형
profile

다라다라V

@DaraDaraV

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!