본문 바로가기

알고리즘/백준 (Pyhthon)

[알고리즘] 백준 1715 카드정렬하기 / python

 

import heapq

n = int(input())
heap = []

for _ in range(n):
    num = int(input())
    heapq.heappush(heap, num)

result = 0

while len(heap) != 1:
    num1 = heapq.heappop(heap)
    num2 = heapq.heappop(heap)
    _sum = num1 + num2
    result += _sum
    heapq.heappush(heap, _sum)

print(result)
제일 작은 수끼리 비교할수록 최소가 되므로 최소힙을 이용한다