본문 바로가기
Beakjoon&프로그래머스/파이썬

[프로그래머스/파이썬] 가장 큰 수

by 현장 2022. 5. 17.

-Code

def solution(numbers):
    numbers = [str(number) for number in numbers]
    numbers.sort(key=lambda x: x*3, reverse=True)
    return str(int(''.join(numbers)))

처음에 스트링으로 바꿔서 sort로 하려고 하다가 3과 34, 30이 문제가 되어서 해결이 안되서 수열로 받아 해결을 하려 했으나 이경우 너무 커지게 되면 시간 초과가 생기게 되었습니다. 그래서 방법을 찾아보니 *3인 값으로 하게되면 333과 303030, 343434로 되어서 구별하여 정렬이 가능하게 되고 최대 수가 999이기 때문에 *3으로 해야 해결이 가능하는 걸알고 수정 했습니다. 그후 테스트 케이스 11이 틀려서 알아보니 0, 0, 0, 0이 입력시 리턴 값이 0000이 되어서 틀린거라 int로 해주고 다시 str로 바꾸어주어 해결을 했습니다.