반응형
프로그래머스의 레벨 2 문제 가장 큰 수
문제 요구 조건
숫자들을 가지고 사전식으로 가장 큰 수가 되도록 만들어야 한다.
내 풀이 방법
- 숫자의 앞 자릿수가 큰 순서대로 정렬한다.
- 숫자의 최대 길이가 4이기 때문에 모든 숫자의 길이를 최소 4로 맞춰준다.
# 숫자의 앞 자리수가 큰 순서대로 정렬한다
# 문자를 여러번 반복해서 최소 4자릿수로 만들어서 비교한다
# 정렬한 배열의 원소들을 문자열로 만든다
def solution(numbers):
l = sorted(map(str, numbers), key=lambda x: x*4, reverse=True)
return str(int(''.join(l)))
solution([6, 10, 2])
solution([31, 312, 313, 318, 319])
다른 사람의 풀이법
- 비교할 문자열 s1, s2가 있을 때, s1+s2 와 s2+s1를 사전식으로 비교하기
반응형
'Computer science > Algorithm' 카테고리의 다른 글
[프로그래머스] Python3 - 전화번호목록 (1) | 2023.11.13 |
---|---|
[프로그래머스] Python3 - H Index (0) | 2023.11.10 |
[프로그래머스] 호텔 대실 - Python3 (0) | 2023.07.12 |
[프로그래머스] 리코쳇 로봇 - Python3 (0) | 2023.07.12 |
[코딜리티] PassingCars - Python3 (0) | 2023.07.12 |