문제
https://www.acmicpc.net/problem/1715
1715번: 카드 정렬하기
정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장
www.acmicpc.net
코드
import sys
import heapq
n = int(sys.stdin.readline())
card = []
answer = 0
for _ in range(n):
heapq.heappush(card, int(sys.stdin.readline()))
if len(card) == 1:
print(0)
else:
while len(card) > 1:
left = heapq.heappop(card)
right = heapq.heappop(card)
heapq.heappush(card, left+right)
answer = answer + (left+right)
print(answer)
'Problem Solving > CT-Python' 카테고리의 다른 글
[백준/프루트포스] 2309: 일곱 난쟁이 - 파이썬 (0) | 2022.04.14 |
---|---|
[백준/프루트포스] 7568: 덩치 - 파이썬 (0) | 2022.03.25 |
[백준/브루트포스] 4673: 셀프넘버 - 파이썬 (0) | 2022.03.16 |
[백준/그리디] 1026: 보물 - 파이썬 (0) | 2022.03.11 |
[백준/그리디] 11000: 강의실 배정 - 파이썬 (0) | 2022.03.10 |