Coding Test

[JS] 프로그래머스 코딩테스트 연습 Lv. 1) 정수 내림차순으로 배치하기

JustdoJustin 2022. 10. 17. 18:27

My Answer

function solution(n) {
    let a=n.toString().split('').sort().reverse();
    return parseInt(a.join(''));
}

정수를 문자열로 바꿔주고, 배열 형태로 한 글자씩 분리시켰다. 그리고 그 배열을 가지고 정렬을 시킨 후, 다시 역순으로 배열 -> 문자열 -> 정수 로 원래대로 만들어서 풀이하였다.

 

Reference Answer 1

function solution(n) {
  const newN = n + ""; //정수와 빈문자열을 더하니 값이 문자열로 바뀜
  const newArr = newN
    .split("")
    .sort()
    .reverse()
    .join(""); //조인까지 했을 때는 다시 문자열이 되어 있고

  return +newArr; //변수 앞에 +를 붙여주니까 바로 정수로 바뀌었다
}

연산자를 통해서, 간단하게 형 변환이 가능하다는 것을 알게되었다.

 

변화 과정을 보기 위해, 중간중간에 출력해서 확인하면 아래와 같다.

function solution(n) {
  const newN = n + "";
  console.log(newN)
  const newArr = newN
    .split("")
    .sort()
    .reverse()
    .join("");
  console.log(newArr)
  return +newArr;
}
console.log(solution(118372)); 

/**
"118372"
"873211"
873211
*/