문제설명
숫자들을 입력받고 그 숫자들을 연결해서 만들 수 있는 가장 큰 수를 출력하는 문제입니다.
작동 순서
숫자들을 입력받습니다.
입력받은 숫자들을 문자열로 변환해줍니다.
입력되는 숫자들이 1000이하의 숫자이므로 모든 숫자들이 3자리 이상이 될 수 있도록 3을 곱해준다음 역순으로 정렬을 합니다.
가장 큰 수가 0인경우 모든 수가 0으로 입력된것으로 생각하고 0을 반환합니다.
앞의 숫자부터 연결해가면서 숫자를 만들고 출력합니다.
소스코드
def solution(numbers):
answer = ''
sorted_number = list(map(str, numbers))
sorted_number.sort(key=lambda x: x*3, reverse=True)
if sorted_number[0] == '0':
answer = '0'
else:
answer = ''.join(sorted_number)
return answer