본문 바로가기
알고리즘

11279 최대힙

by Wonryeol 2022. 7. 11.

 

Heap의 기본 개념인 Binary search를 활용해 문제를 풀어 보았다

 

 

import sys
import heapq
from collections import deque

input = sys.stdin.readline

N = int(input())


heap = []
for i in range(N):
    n = int(input())


    if n == 0 :
        if len(heap) == 0 :
            print(0)
        else:
            print(heap.pop(-1))
    else:
        if len(heap) == 0 :
            heap.append(n)
        else:
            left = 0
            right = len(heap)-1
            while left <= right:
                mid = (left + right)//2
                if heap[mid] > n :
                    right = mid -1
                else:
                    left = mid + 1

            heap.insert(left,n)
    #print(heap)
    #print('==========')

'알고리즘' 카테고리의 다른 글

백준 1016  (0) 2021.03.13
백준_1092  (0) 2021.03.12
백준 10942 팰린드롬?  (0) 2021.03.06
ITM_SPRING [Hacker Rank] Breadth first search_ 넓이 우선 탐지  (0) 2021.03.05
백준 1932  (0) 2021.02.27

댓글