superSize.js (8kyu 78)

Codewars 알고리즘 풀이


Problem

  • Write a function that rearranges an integer into its largest possible value.
    • 정수를 가장 큰 값으로 재배열한다.


Solution 01

function superSize(n) {
  return Number(n.toString().split('').sort().reverse().join(''));
}

superSize(1988);        // 9881
superSize(2019);        // 9210
superSize(4812950736);  // 9876543210

toString() 메소드

숫자를 문자열로 변환한다.

split() 메소드

문자열을 부분 문자열로 분할하고, 새 배열로 반환한다.

sort() 메소드

배열의 element를 정렬한 후, 그 배열을 반환한다.

reverse() 메소드

배열 내 element의 순서를 반전한다.

join() 메소드

배열의 모든 element를 결합하고, 새 문자열로 반환한다.


Solution 02

function superSize(n) {
  return Number(String(n).split('').sort().reverse().join(''));
}

superSize(1988);        // 9881
superSize(2019);        // 9210
superSize(4812950736);  // 9876543210

String() 함수

객체의 값을 문자열로 변환한다.


Solution 03

function superSize(n) {
  return Number(String(n).split('').sort((a, b) => b - a).join(''));
}

superSize(1988);        // 9881
superSize(2019);        // 9210
superSize(4812950736);  // 9876543210


Solution 04

function superSize(n) {
  return parseInt(String(n).split('').sort((a, b) => b - a).join(''));
}

superSize(1988);        // 9881
superSize(2019);        // 9210
superSize(4812950736);  // 9876543210

parseInt() 메소드

문자열을 구문 분석하고, 정수를 반환한다.