12. 가장 큰 수
코딩테스트 연습 > 정렬 > 가장 큰 수
https://programmers.co.kr/learn/courses/30/lessons/42746
Input value
Process
Output value
numbers의 길이는 1 이상 100,000 이하입니다.
numbers의 원소는 0 이상 1,000 이하입니다.
정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다.
원소의 문자열 변환 후
permuation을 이용하여 모든 경우에 대해 리스트화 하고,
''join()을 이용한 후,
max값을 구해보았지만..
효율성 측면에서 좋지 못해 실패!
#00
numbers = [6,10,2]
#01
from itertools import permutations
numbers = max(list(map(''.join,permutations(list(map(str,numbers)),len(numbers)))))
제한 사항 2번에 근거하여, number의 원소가 1000 이하라는 것을 이용하여,
원소의 문자열 변환 후
numbers = list(map(str,numbers))
numbers = ''.join(sorted(numbers,key=lambda i : i*3, reverse=True))
numbers = str(int(numbers))
def solution(numbers):
return str(int(''.join(sorted(list(map(str,numbers)),key=lambda i :i*3, reverse=True))))
# Code test
numbers = [6,10,2]
solution(numbers)