본문 바로가기
알고리즘/Codewars

[Codewars] Descending Order (7 kyu) / JavaScript

by fluss 2022. 9. 28.

DESCRIPTION:

Your task is to make a function that can take any non-negative integer as an argument and return it with its digits in descending order. Essentially, rearrange the digits to create the highest possible number.

 

Examples:

Input: 42145 Output: 54421

Input: 145263 Output: 654321

Input: 123456789 Output: 987654321

 

설명:

음의 정수가 아닌 수를 인자로 받아 그 수를 내림차순으로 반환하는 함수를 만들어야 합니다. 기본적으로 숫자를 재배치해서 가능한 가장 큰 수를 만듭니다.

 

예시:

Input: 42145 Output: 54421

Input: 145263 Output: 654321

Input: 123456789 Output: 987654321

 

풀이

function descendingOrder(n){
  let answer = n.toString().split('').map(el => parseInt(el)).sort((a, b) => b - a).join('');
  return parseInt(answer);
}

n을 string으로 만들어서 한 글자씩 자른 다음 숫자 각각을 다시 정수로 만들고 그 수들을 내림차순으로 정렬한 다음 다시 합친 것을 정수로 만들어 반환했다.

댓글