알고리즘/프로그래머스
[프로그래머스] 가장 큰 수
lheunoia
2022. 2. 10. 17:16
https://programmers.co.kr/learn/courses/30/lessons/42746
코딩테스트 연습 - 가장 큰 수
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰
programmers.co.kr
이번 문제는 정렬 문제였습니다.
《문제 풀이》
1. numbers 배열의 숫자를 문자열로 변환
2. 문자열로 변환한 두 숫자를 합치면서 오름차순 정렬 ← (b+a) - (a+b)
3. 결과값을 문자열로 변환
★ numbers 배열이 0으로만 이루어진 경우 '000'과 같은 결과가 나올 수 있기 때문에 결과값을 '0'으로 처리
《Javascript 코드》
function solution(numbers) {
let answer = numbers.map(number => number + '')
.sort((a, b) => (b+a) - (a+b))
.join('');
answer = answer[0] === '0' ? '0' : answer;
return answer;
}
반응형