整数降順でソート[プログラマ]


整数降順でソート
問題の説明
関数解は、パラメータ入力として整数nを受け入れる.nの各ビット数を大きいから小さい順に並べ替えてください.例えば、nが118372の場合、873211が返される.
I/O例
nreturn118372873211
せっけいかいてつづき
sort()関数を用いて数字を降順にソートすべきだと思います.
sort()関数は、配列内の数値または文字をソートする関数です.そのため、「118372」という数字を一つ一つ取り外し、配列に入れなければならない.
[1,1,8,3,7,2]という個々の分離で使用される関数のうち,私が知っている関数はsplit()関数である.
split()関数は文字列を分割する方法であるため,数値を文字列に分割する必要がある.
整理すると、
1.数値を文字列に変換します.
2.split()関数を使用して、各数値を分離します.
3.sort()関数を使用して降順にソートします.
4.split関数で分離した数値を1つ合成します.
5.文字列に変換された配列は数値を返します.
解法
function solution(n) {
    return +String(n)
        .split('')
        .sort((a, b) => b - a)
        .join('')     
}
教室で学習したデフォルト変換を使用して、数値に変換します.
数値タイプへの変換:+X(前に+演算子を付けるとデフォルトで数値タイプに変換されます)
文字列タイプに変換:X+"(+演算子の被演算子に文字列がある場合、Xも文字列タイプに変換されます).
ブールタイプに変換:!!X(最初の2回は否定論理演算子を使用してブール型に変換)
知っていれば簡単にタイプを変換できます.
他人の解答
function solution(n) {
    // 문자풀이
    return parseInt((n+"").split("").sort().reverse().join(""));
}
parseInt関数を使用しました.
function solution(n) {
  const newN = n + "";
  const newArr = newN
    .split("")
    .sort()
    .reverse()
    .join("");

  return +newArr;
}