728x90
반응형
기본적인 우선순위 큐 문제이다. 이 문제도 골드 4 난이도 치고는 쉽다.
우선순위 큐에 남은 수가 2개 이하가 되기 전까지 제일 작은 두 값을 pop 해서 더하고,
그 합을 우선순위 큐에 추가하고 res에 더해주면 된다. 마지막에 res를 출력해주면 끝
import heapq
import sys
input = sys.stdin.readline
N = int(input())
q = []
for _ in range(N):
n = int(input())
heapq.heappush(q, n)
if N == 1:
print(0)
else:
res = 0
while len(q) > 1:
t = heapq.heappop(q)+heapq.heappop(q)
res += t
heapq.heappush(q, t)
print(res)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 6603번 로또(python) (0) | 2021.04.27 |
---|---|
백준 알고리즘 1238번 파티(python) (0) | 2021.04.10 |
백준 알고리즘 2075번 N번째 큰 수(python) (0) | 2021.04.07 |
백준 알고리즘 21335번 Another Eruption(python) (0) | 2021.04.04 |
백준 알고리즘 11367번 Report Card Time(python) (0) | 2021.03.25 |