[프로그래머스 level 2] '가장 큰 수' 풀이 - python
파이썬 라이브러리 순열로 시도했다가 실패했다
다른 사람의 풀이를 참고했다.
#from itertools import permutations
def solution(numbers):
# 문자열로 치환하고 list로 변경
numbers=list(map(str,numbers))
# x*3 = 인수값이 1000이하 이므로 3자리수로 맞춘뒤 비교
# 문자열 비교는 아스키 코드 값으로 치환되어 정렬되기 때문에
# 666,101010,222의 첫번째 인덱스 값으로 비교
# 6=86, 1=81, 2=82 =>10>2>6 순으로 정렬
# reverse=True를 통해 내림차순 정렬해주기 -> 6<2<10
numbers.sort(key=lambda x:x*3, reverse=True)
# 모든 값이 0일 경우 (000) int로 변환한뒤 다시 문자열로 변환
return str(int("".join(numbers)))
Author And Source
이 문제에 관하여([프로그래머스 level 2] '가장 큰 수' 풀이 - python), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@boyfromthewell/프로그래머스-level-2-가장-큰-수-풀이-python저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)