https://school.programmers.co.kr/learn/courses/30/lessons/42746?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
주어진 numbers 에서 가장 큰 수를 만들 수 있도록 numbers를 정렬해야 합니다.
s1, s2가 s1+s2 < s2 + s1이라면 순서를 바꿔야 합니다. 즉, 뒤에 있는 숫자를 앞으로 가져와야 합니다.
numbers를 string으로 바꾸고 cmp_to_key를 사용하면 쉽게 정렬을 처리할 수 있습니다.
from functools import cmp_to_key
def compare(s1, s2):
if s1 + s2 < s2 + s1:
return 1
else:
return -1
def solution(numbers):
n = list(map(lambda x: str(x), numbers))
nn = sorted(n, key = cmp_to_key(compare))
return str(int(''.join(nn)))
'프로그래머스 > Lv.2' 카테고리의 다른 글
[Python] 프로그래머스 PCCP 기출 - 석유 시추 (1) | 2024.09.26 |
---|---|
[Python] 프로그래머스 최댓값과 최솟값 (0) | 2024.09.20 |
[Python] 프로그래머스 더 맵게 (0) | 2024.08.12 |
[Python] 프로그래머스 주식가격 (0) | 2024.08.11 |
[Python] 프로그래머스 다리를 지나는 트럭 (0) | 2024.08.11 |