성장일기
[python] 백준 13975 - 파일 합치기 3 본문
https://www.acmicpc.net/problem/13975
Q> 소설의 모든 장을 쓰고 각 장이 쓰여진 파일을 합쳐 최종본을 만든다
임시 파일을 합쳐 최종파일을 만든다.
파일들을 하나로 합칠 때 필요한 최소 비용을 계산
import sys
import heapq
input=sys.stdin.readline
n = int(input().rstrip()) # n번의 연산
for i in range(n) :
length = int(input().rstrip()) # 카드 갯수의 길이
cards = list(map(int,input().split())) # 카드 받아오기
heapq.heapify(cards)
cnt = 0
for j in range(length-1): # 길이보다 한 번 적게 연산
temp = heapq.heappop(cards) # 가장 작은 수와
temp2 = heapq.heappop(cards) # 그 다음 작은 수
temp_sum = temp + temp2 # 가장 작은 두 수를 더해서 cnt 누적
cnt+=temp_sum
heapq.heappush(cards,temp_sum) # 더한 값을 다시 넣어줌
print(cnt)
✨ 아래 문제들과 비슷
'알고리즘 문제' 카테고리의 다른 글
[python] 백준 8892 - 팰린드롬 (0) | 2022.01.20 |
---|---|
[python] 백준 19598 - 최소 회의실 개수 (0) | 2022.01.20 |
[python] 백준 1931 - 회의실 배정 (0) | 2022.01.19 |
[python] 백준 11000 - 강의실 배정 (0) | 2022.01.19 |
[python] 백준 2075 - N번째 큰 수 (0) | 2022.01.18 |