
프로그래머스 고득점 Kit - 가장 큰 수Coding/PS2025. 2. 3. 16:01
Table of Contents
반응형
Problem
https://school.programmers.co.kr/learn/courses/30/parts/12198
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 0 또는 양의 정수가 주어졌을때, 정수를 이어붙여 만들 수 있는 가장 큰 수를 알아내라.
- [6, 10, 2] 가 들어온다면 그 수를 재배치해서 만들 수 있는 가장 큰 수는 6210이 된다.
- 0 또는 양의정수가 담긴 배결 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 반환하라
Input / Output Example
numbers | return |
[6, 10, 2] | "6210" |
[3, 30, 34, 5, 9] | "9534330" |
[0, 0, 0, 0] | "0" |
3번째 테스트케이스는 문제에 나와있지 않다.
Solution
이 문제의 제한 사항을 꼭 봐야 한다.
numbers의 원소는 0이상 1,000 이하다.
들어온 수를 문자열로 바꾸어 *4 해서 최소 4자리를 맞춰주고 비교하면 된다.
또한, 배열로 0만 들어오는 경우도 조심해야 한다.
마지막에 문자열 수 -> 정수 -> 문자열로 변환해서 0만 들어오는 예외 케이스를 처리해준다.
Code
def solution(numbers):
answer = ''
numbers = list(map(str, numbers))
numbers.sort(key=lambda x:x*4, reverse=True)
answer = str(int(''.join(numbers)))
return answer
반응형
'Coding > PS' 카테고리의 다른 글
프로그래머스 고득점 Kit - 소수 찾기 (1) | 2025.02.03 |
---|---|
프로그래머스 고득점 Kit - H-Index (0) | 2025.02.03 |
프로그래머스 고득점 Kit - 디스크 컨트롤러 (0) | 2025.02.03 |
프로그래머스 고득점 Kit - 이중 우선순위 큐 (0) | 2025.01.29 |
프로그래머스 고득점 Kit - 올바른 괄호 (0) | 2025.01.28 |
@현주씌 :: 현주.로그
소프트웨어학과 현주씌의 일상을 담는 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!