[알고리즘] - 문자열 합치기

문제

알고스팟 - 문자열 합치기

풀이

두 문자열을 합하면 하나의 문자열이 됨

긴 문자열을 마지막에 합치기

  1. 리스트 내 가장 작은 2개 더하기
    2개 delete 합 1개 insert
  2. 반복

코드

c = int(input())
ans = []
num = []

for i in range(c):
    n = int(input())
    num.clear()
    num = list(map(int, input().split()))
    tot = 0

    if n == 1:
        tot = num[0]
    while len(num) != 1:
        num.sort()
        # 리스트 내 가장 작은 2개 더하기
        num.append(num[0]+num[1])
        tot += num[0]+num[1]
        # 2개 delete 합 1개 insert
        num.pop(0)
        num.pop(0)
    ans.append(tot)

for i in ans:
    print(i)

결과

좋은 웹페이지 즐겨찾기