백준 11286. 절댓값 힙

·2021년 3월 12일
0

알고리즘

목록 보기
9/20

백준 11286. 절댓값 힙 문제

TRYS AND INSIGHTS

  • heapq 문제. 상당히 간단한 편

  • heapq 찾아보니까 PriorityQueue보다는 heapq를 권장한다고 함.

  • heapq에서 heappush 함수로, 원소를 heap에 추가할 때 튜플 형식으로 집어넣을 수 있음.

    heapq.heappush(h, ({인자1, 인자2}))

    이때 heap은 인자1, 인자2 순서대로 우선순위를 정해서 최소 heap을 구성해 줌.

SOLUTION

import sys
import heapq

def main():
    N = int(sys.stdin.readline())
    h = []
    for _ in range(N):
        x = int(sys.stdin.readline())
        if x == 0:
            # 절댓값이 가장 작은 값을 출력, 그 값을 배열에서 제거
            print(0 if len(h)==0 else heapq.heappop(h)[1])
        else:
            heapq.heappush(h, (abs(x),x))

main()
profile
이것저것 개발하는 것 좋아하지만 서버 개발이 제일 좋더라구요..

0개의 댓글