본문 바로가기
알고리즘/BOJ

[Python] 백준 13975: 파일 합치기 3

by PIAI 2021. 9. 26.

https://www.acmicpc.net/problem/13975

 

13975번: 파일 합치기 3

프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데,

www.acmicpc.net

1. 파일은 어차피 n-1번 합쳐야 한다.

2. 그러므로 가장 작은 파일 2개씩 파일이 1개가 남을 때까지 더해주면 된다.

from heapq import heappush, heappop, heapify

T = int(input())
while T:
    T -= 1
    n = int(input())
    f = list(map(int, input().split()))
    ans = 0
    heapify(f)
    while len(f) > 1:
        x, y = heappop(f), heappop(f)
        ans += x + y
        heappush(f, x+y)
    print(ans)

'알고리즘 > BOJ' 카테고리의 다른 글

[Python] 백준 1398: 동전문제  (0) 2021.09.27
[Python] 백준 2590: 색종이  (0) 2021.09.26
[Python] 백준 2513: 통학버스  (0) 2021.09.25
[Python] 백준 1082: 방 번호  (0) 2021.09.25
[Python] 백준 1083: 소트  (0) 2021.09.25

댓글