Python/정렬
[Algorithm] 프로그래머스 42746 가장 큰 수 | 파이썬 (정렬)
유일리
2024. 9. 5. 15:24
※ 42746 가장 큰 수
https://school.programmers.co.kr/learn/courses/30/lessons/42746

문제 해결 TIP
문자열 비교에 대해 먼저 알아보자.
print('2'<'20') #True
print('222'<'202020') #False
위와 같이 '2'와 '20'을 비교하면 '20'이 크지만, '220'과 '202'를 비교하면 '220'이 더 커야한다. 따라서 문자열을 반복해주어 일관된 기준으로 비교해준다. 조건 중 numbers의 원소가 1000 이하인 점을 참고하여 3번 반복한 문자열들끼리 비교 정렬하여 출력하도록 한다.
전체 코드
def solution(numbers):
numbers = list(map(str, numbers))
numbers.sort(key=lambda x: x*3, reverse=True)
return str(int(''.join(numbers)))