[Python | 파이썬] 가장 큰 수 (프로그래머스 정렬)
가장 큰 수를 만들기 위해서는 주어진 numbers 배열을 각 숫자의 길이가 한글자라면 이뒤에도 이것과 같은 글자가 이어졌다고 생각하고 내림차순으로 정렬하고 앞에서부터 쭉 연결하면 된다.
즉 9와 90이 주어진다면 909 보다는 990이 크다. 따라서 9가 90보다 먼저오도록 정렬하려면 9를 99로 생각하고 정렬해야한다. 문제에서 주어진 numbers의 각 원소는 0 이상 1000 이하이므로 최대 한자리수가 세자리수와 비교될 수 있도록 모든 글자의 길이를 3배로 한다.
더보기
def solution(numbers):
answer = ''
numbers = list(map(str, numbers))
numbers.sort(key = lambda x : x*3, reverse = True)
answer = str(int(''.join(numbers)))
return answer
https://programmers.co.kr/learn/courses/30/lessons/42746
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Problem Solving > Programmers - Python' 카테고리의 다른 글
[Python | 파이썬] N으로 표현 (프로그래머스 DYNAMIC PROGRAMMING) (0) | 2021.05.31 |
---|---|
[Python | 파이썬] H-Index (프로그래머스 정렬) (0) | 2021.05.31 |
[Python | 파이썬] K번째수 (프로그래머스 정렬) (0) | 2021.05.31 |
[Python | 파이썬] 이중우선순위큐 (프로그래머스 HEAP) (0) | 2021.05.31 |
[Python | 파이썬] 디스크 컨트롤러 (프로그래머스 HEAP) (0) | 2021.05.31 |