heapq 라이브러리
- heapq.heappush(heap, item) : item을 heap에 추가
- heapq.heappop(heap) : heap에서 가장 작은 원소를 pop
- heapq.heapify(x) : 리스트 x를 즉각적으로 heap으로 변환함

https://www.codetree.ai/missions/8/problems/%08merge-numbers/description
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
import heapq
n=int(input())
arr=list(map(int,input().split()))
heapq.heapify(arr)
answer=0
while len(arr)>1:
x = heapq.heappop(arr)
y = heapq.heappop(arr)
heapq.heappush(arr,x+y)
answer += x+y
print(answer)
'Computer Science > 알고리즘' 카테고리의 다른 글
최소신장트리 MST, Kruskal(크루스칼), Prim(프림), Sollin(솔린) (1) | 2023.12.07 |
---|---|
그래프, 그래프탐색(DFS, BFS) 이론정리 (2) | 2023.12.07 |
[Codility] 14. Binary search algorithm (MinMaxDivision) (0) | 2023.10.25 |
[Codility] 13. Fibonacci (FibFrog) (0) | 2023.10.25 |
[Codility] 12. Euclidean algorithm (ChocolatesByNumbers) (0) | 2023.10.25 |