[백준] #1715(그리디) - PriorityQueue, heapq

팔랑이·2023년 12월 10일

BOJ

목록 보기
6/12

# 1715 / 그리디 알고리즘

  1. PriorityQueue 활용
from queue import PriorityQueue
 
N = int(input())
pq = PriorityQueue()

for _ in range(N):
    card = int(input())
    pq.put(card)
    
get1 = 0
get2 = 0
sum = 0

while pq.qsize() > 1 :
    get1 = pq.get()
    get2 = pq.get()
    
    temp = get1 + get2
    sum += temp
    pq.put(temp)
    
print(sum)
  1. heapq 활용
from heapq import heapify, heappop, heappush
 
N = int(input())
A = []

for _ in range(N):
    card = int(input())
    heappush(A, card)

heapify(A)   
sum = 0

while len(A)>1:
    pop1 = heappop(A)
    pop2 = heappop(A)
    temp = pop1 + pop2
    sum += temp
    heappush(A, temp)
    
print(sum)
profile
정체되지 않는 성장

0개의 댓글