import functools
def comparator(a,b):
t1 = a+b
t2 = b+a
return (int(t1) > int(t2)) - (int(t1) < int(t2)) # t1이 크다면 1 // t2가 크다면 -1 // 같으면 0
def solution(numbers):
n = [str(x) for x in numbers] #또는, n = list(map(str, numbers))
n = sorted(n, key=functools.cmp_to_key(comparator), reverse=True)
answer = str(int(''.join(n))) # 0000의 경우에는 0으로 출력하려면 int하고 str으로 다시 변환해야 해요
return answer
print(solution([3, 30, 34, 5, 9]))
(출처: 프로그래머스)
'알고리즘' 카테고리의 다른 글
사각배열을 만들어 출력하는 경우 (0) | 2022.07.02 |
---|---|
우선순위큐(최소힙) (0) | 2022.07.02 |
1이 될때까지. (0) | 2022.07.02 |
DFS / BFS (0) | 2022.06.29 |
피보나치 수열 구하기-파이썬 (0) | 2020.12.13 |