Python으로 구현한 42746번 가장 큰 수 문제 풀이입니다.
https://programmers.co.kr/learn/courses/30/lessons/42746
def solution(numbers) :
answer = ''
numbers = list(map(str, numbers))
numbers = (sorted(numbers, key=lambda x: x * 5, reverse=True))
for value in numbers :
answer += str(value)
return str(int(answer))
1. 전달받은 numbers의 요소들을 문자열 형태로 변환해준다.
2. numbers 리스트를 (첫 번째 자리 높은 순) -> (문자열의 길이가 높은 순) 으로 정렬한다.
** 참고 : 각 문자에 5를 곱해 해당 문자가 5번 반복되게 한 후 그 문자열을 통해 정렬을 수행
3. 정렬된 numbers 리스트의 문자열을 하나씩 꺼내 answer에 이어 붙인다.
4. 모든 문자열을 이어붙이면, 최종적으로 answer를 반환한다.
'프로그래머스(Python) 풀이 > Level.2' 카테고리의 다른 글
프로그래머스(Python) 12953번 N개의 최소공배수 풀이 (0) | 2022.05.04 |
---|---|
프로그래머스(Python) 42839번 소수 찾기 풀이 (0) | 2022.05.04 |
프로그래머스(Python) 42587번 프린터 풀이 (0) | 2022.05.04 |
프로그래머스(Python) 64065번 튜플 풀이 (0) | 2022.05.04 |
프로그래머스(Python) 43165번 타겟 넘버 풀이 (0) | 2022.05.04 |