整数降順でソート[プログラマ]
整数降順でソート
問題の説明
関数解は、パラメータ入力として整数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.文字列に変換された配列は数値を返します.
解法
数値タイプへの変換:+X(前に+演算子を付けるとデフォルトで数値タイプに変換されます)
文字列タイプに変換:X+"(+演算子の被演算子に文字列がある場合、Xも文字列タイプに変換されます).
ブールタイプに変換:!!X(最初の2回は否定論理演算子を使用してブール型に変換)
知っていれば簡単にタイプを変換できます.
他人の解答
問題の説明
関数解は、パラメータ入力として整数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;
}
Reference
この問題について(整数降順でソート[プログラマ]), 我々は、より多くの情報をここで見つけました https://velog.io/@kim-jaemin420/프로그래머스정수-내림차순으로-정렬하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol