프로그래머스 가장 큰 수
permutation으로 풀고 바로 오답... 설마 했지만 역시나였다.
1000의 자리수로 맞춘다는 힌트를 얻고 다시!
def solution(numbers):
answer = ''
# 일단 문자열로 변환
answer = list(map(str, numbers))
answer.sort(key= lambda x: x * 3, reverse = True)
# 마지막 부분에서 다시 int, 또 다시 str로 바꿔주는 걸 찾는데 오래 걸렸다.
answer = str(int(''.join(answer)))
return answer
[10, 2, 20, 22, 435] 를 가지고 테스트 해 보면
reverse를 안한다면 ['10', '20', '2', '22', '435']
reverse 해 주면 ['435', '22', '2', '20', '10']
reverse 한 결과처럼 20이 뒤로 가야 수가 커질 것이다.