Study/알고리즘

[프로그래머스] 가장 큰 수 (Javascript)

ujam 2022. 6. 9. 13:11
728x90
반응형

 

 

문제

 

코딩테스트 연습 - 가장 큰 수

0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰

programmers.co.kr

 

 

 

 

풀이

function solution(numbers) {
    
    let answer = numbers.map(num => num + '').sort((a, b) => (b + a) - (a + b)).join('');
    
    return answer[0] === "0" ? "0" : answer;
}

 

 

 

 

numbers.map(num => num + '') =  숫자들을 문자로 변환
sort((a, b) => (b + a) - (a + b)) = 문자로 변환된 숫자를 연결하여 비교하여 정수가 나오면 가만히 음수가 나오면 위치 변경하여 정렬
.join('') = 문자열 합치기

 


위를 실행한 후 answer 배열 맨 첫번 째가 0이라면 가장 큰 수가 0이니 0 출력

728x90
반응형