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

잡초·2023년 9월 4일
0
post-thumbnail

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

제한사항
n은 1이상 8000000000 이하인 자연수입니다.

입출력 예

sreturn
118372873211

나의 풀이

function solution(n) {
  var answer = (n + "")
    .split("")
    .sort(function compare(a, b) {
      return b - a;
    })
    .reduce((acc, curr) => acc + curr, "");

  return answer * 1;
}

문자열로 바꾼 후, sort이용해 정렬한 뒤 reduce로 합쳤다.

참고 풀이

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

  return +newArr;
}

sort로 오름차순으로 정렬하고, reverse로 뒤집었다.
배열을 합치는데는 join을 사용하였다.
문자열 앞에 +를 추가하는 것으로 숫자로 바꿀 수 있다.

profile
개발자가 되고싶은 잡초

0개의 댓글