알고리즘 53 - Descending Order

jabae·2021년 10월 29일
0

알고리즘

목록 보기
53/97

Q.

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

A)

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

바로 저번 문제에서 다른 솔루션들을 보니,
나는 .map(el => Number(el)) 이렇게 해주었는데, .map(Number)이렇게도 가능한 것을 보아서 한 번 써먹어 보았다.
또, .toString() 이나 (n + '') 이렇게 빈 문자열을 더해주는 것도 똑같이 문자로 만들 수 있는 방법이다.
여기서 중요한 것은 내림차순!꽤 전에 배웠었는데 기억에 남는다.

  • .sort() : 사전식 정렬
  • .sort((a, b) => b - a) : 내림차순
  • .sort((a, b) => a - b) : 오름차순
profile
it's me!:)

0개의 댓글