본문 바로가기
Programmers

[python] 가장 큰 수

by DylanMsK 2019. 8. 31.

문제 출처

가장 큰 수

 

풀이


def merge_sort(x):
    if len(x) < 2:
        return x

    m = len(x)//2
    lx = merge_sort(x[:m])
    rx = merge_sort(x[m:])

    result = []
    l = r = 0
    while l < len(lx) and r < len(rx):
        if int(rx[r]+lx[l]) < int(lx[l]+rx[r]):
            result.append(lx[l])
            l += 1
        else:
            result.append(rx[r])
            r += 1
    result += lx[l:]
    result += rx[r:]
    return result


def solution(numbers):
    length = len(numbers)
    for i in range(length):
        numbers[i] = str(numbers[i])

    answer = merge_sort(numbers)

    return str(int(''.join(answer)))
    

'Programmers' 카테고리의 다른 글

[python] 타겟 넘버  (0) 2019.09.01
[python] H-Index  (0) 2019.08.31
[python] K번째수  (0) 2019.08.31
[python] 숫자 야구  (0) 2019.08.30
[python] 카펫  (0) 2019.08.30