整数降順で配置[プログラマ]-Java
8379 ワード
[プログラマ]整数降順で展開
関数解は、パラメータ入力として整数nを受け入れる.nの各ビット数を大きいから小さい順に並べ替えてください.例えば、nが118372の場合、873211が返される.
nは、8000000000を超える自然数です.
問題の説明
関数解は、パラメータ入力として整数nを受け入れる.nの各ビット数を大きいから小さい順に並べ替えてください.例えば、nが118372の場合、873211が返される.
せいげんじょうけん
I/O例
私の答え
import java.util.Arrays;
public class Solution {
public long solution(long n) {
int length = (int) Math.log10(n) + 1;
int[] numbers = new int[length];
for(int i = 1; i <= length; i++) {
numbers[i-1] = (int) (n % (Math.pow(10, i)) / Math.pow(10, i-1));
}
Arrays.sort(numbers);
String answer = "";
for(int i = length - 1; i >= 0; i--) {
answer += numbers[i];
}
return Long.parseLong(answer);
}
}
他人の解答
import java.util.*;
class Solution {
public long solution(long n) {
String[] list = String.valueOf(n).split("");
Arrays.sort(list);
StringBuilder sb = new StringBuilder();
for (String aList : list) sb.append(aList);
return Long.parseLong(sb.reverse().toString());
}
}
Reference
この問題について(整数降順で配置[プログラマ]-Java), 我々は、より多くの情報をここで見つけました https://velog.io/@seobob/프로그래머스-정수-내림차순으로-배치하기-Javaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol