Programmers/Level 1

[Javascript] 프로그래머스 : 정수 내림차순으로 배치하기

emayom 2021. 7. 2. 12:33

⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도 입니다. 참고해주시고 편안하게 봐주세요 :) ⚠️

 

 

[Javascript] 프로그래머스 Level1 _ 정수 내림차순으로 배치하기

 

👇🏻

Link_Click

 

 

👇🏻

시행착오

( + 코드를 작성하면서든 생각들.)


1.

처음에는 한 단계씩 분리해서 적어봤다!

함수를 사용해서 풀었다.

function solution(n) {
    var answer = n.toString();
    	answer = answer.split('');
        answer.sort((a,b) => b-a);
    	answer = Number(answer.join(''));
    return answer;
}

2.

위의 풀이에서 중복되는 것들을 합쳤다!

문자열로 변환해서 정렬하는 것 / 다시 정수로 변환하는 것 두 단계로 분리해서 정리했다.

function solution(n) {
    //정수 문자열로 배열로 변환 -> 내림차순 정렬
    var answer = n.toString()
                  .split('')
                  .sort((a,b)=>b-a);
    
    //문자열 배열 요소 합쳐서 다시 정수로 변환
    answer = Number(answer.join(''));
    return answer;
}

3.

.sort((a,b) => b-a); 와 비슷하게 .sort() 후에 .reverse()를 사용해봤다.

Number() 대신 parseInt()를 사용할 수도 있다.

function solution(n) {
    var answer = n.toString()
                  .split('')
                  .sort()
                  .reverse();

    answer = parseInt(answer.join(''));
    return answer;
}

 

+)

Number() vs parseInt() 

문자열을 파라미터로 받아서 숫자로 변환해준다.

 

Parameter Number() parseInt()
숫자(정수) '2021' 2021 2021
숫자 + 문자 '2021년' NaN 2021
문자 + 숫자 '신축년 2021년' NaN NaN
숫자(실수) '2021.0101' 2021.0101 2021

 

***    혹시라도 잘못된 정보가 있다면  언제든지 알려주시면 감사하겠습니다  👀 !   ***