처음엔 문자열로 변환 후 정렬하면 성공할 줄 알았다..
그러나 예를 들어 '30','3' 이 있을 때 정렬을 하면 내가 원하는 '330'이 아닌 '303'으로 정렬되어 틀린 답이 나오게 되었다. ㅠ
원하는 방식으로 정렬하기 위해서는 문자열을 반복한 후 자릿 수를 맞춰서 정렬하는 방식으로 정렬해야한다.
30303030[:4]->3030 과 3333[:4]->3333을 정렬하면 3이 먼저 오기 때문에 제대로 정렬이 된다!
추가로 원소가 0만 있을 경우도 고려해주어 00일때 ->0으로 출력되게 해주면 정답이다.
def solution(numbers):
answer = ''
s=[str(i) for i in numbers]
s.sort(reverse=True, key=lambda x:(x*4)[:4])
answer=''.join(s)
if answer[0]=='0':
return '0'
return answer