[프로그래머스] Lv2. 가장 큰 수 -JavaScript

이상돈·2023년 2월 20일
0
post-thumbnail

문제분류 : 코팅테스트 연습

난이도 : Level 2

출처 : 프로그래머스 - 가장 큰 수

문제

제한사항

📌 내가 생각한 풀이

Sort함수를 이용하여, 두 수를 연결한 값을 비교하여, 큰 수 대로 나열하자
function solution(numbers) {
    var answer = '';
    var stack = [];
    numbers = numbers.map((d)=>d.toString());
    // 순서가 30, 3 일 경우에, a =30, b = 3이다.
    // b+a => '330', a+b =>  330 - 303 > 0 이다.
    //따라서 순서를 3, 30으로 재정렬한다.
    numbers.sort((a,b)=>((b+a)-(a+b)))
    answer = numbers.join('');
    if(parseInt(answer) == 0){
        return "0"
    }else{
        return answer;
    }
}

📌 느낀점

sort함수의 작동원리를 알게 되었고, sort함수가 단순히 두 수의 크기를 비교하여 재정렬할 뿐 만 아니라 합쳐진 두 수의 합쳐진 값으로 크기를 비교하여 재정렬 할 수 있음을 알게되었다.

profile
사람들의 더 나은 삶을 위한 개발자

0개의 댓글