문제
나의 생각
long 타입 매개변수를 일의 자리씩 나누어 list에 담아주고 collections 함수를 이용하여 정렬처리 후 String -> Long 타입으로 변환.
나의 답안
public static long solution(long n) {
String after = "";
ArrayList list = new ArrayList<>();
while ( n > 0) {
list.add(n % 10);
n /= 10;
}
Collections.sort(list, Collections.reverseOrder());
for (int i = 0; i < list.size(); i++) {
after += list.get(i);
}
return Long.parseLong(after);
}
다른 답안
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());
}
}
'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글
같은 숫자는 싫어 (1) | 2023.03.13 |
---|---|
두 정수 사이의 합 (0) | 2023.03.13 |
문자열 내 p와 y의 개수 (0) | 2023.03.12 |
자연수 뒤집어 배열로 만들기 (0) | 2023.03.12 |
자릿수 더하기 (0) | 2023.03.12 |