[Programmers] JavaScript 정수 내림차순으로 배치하기

Kim Joy·2023년 2월 24일
2

Programmers 장인

목록 보기
49/67

정수 내림차순으로 배치하기

문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

입출력 예

풀이

function solution(n) {
    let array = [...(n+"")]
    array.sort((a,b)=>(b-a))
    return parseInt(array.join(""))
}

나는 먼저 입력값을 배열로 만들었다.
n은 자연수이고, 숫자를 배열로 만들려면
숫자 -> 문자열 -> 배열
이렇게 3단계를 거쳐야한다.

그리고 내림차순을 하기 위하여
sort() 함수를 사용하고
문자열로 다시 만든다음,
그것을 다시 자연수로 변환했다.

다른사람 풀이

function solution(n) {
  const newN = n + "";
  const newArr = newN
    .split("")
    .sort()
    .reverse()
    .join("");

  return +newArr;
}

가장 좋아요를 많은 사람의 풀이이다.
return +newArr; 의 의미가 궁금했다.

자바스크립트에서는(+) 단항 더하기 연산자를 이용해서 문자열->숫자로 변환이 가능하다.
물론 문자열이 "123" 이 아닌 "cat" 이면 숫자로 변경이 불가능해서 NaN을 반환한다.

profile
javascript 공부하는 코딩어린이

0개의 댓글