코딩테스트 문제집/Programmers(Lv1)
[Programmers] Lv1: 정수 내림차순으로 배치하기(12933)
cogito30
2025. 2. 10. 17:22
반응형
문제
- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12933
풀이
(풀이1)
더보기
import java.util.*;
class Solution {
public long solution(long n) {
// 정수 n을 문자열로 변환하고 각 자릿수를 배열로 저장
String[] digits = String.valueOf(n).split("");
// 내림차순으로 정렬
Arrays.sort(digits, Collections.reverseOrder());
// 정렬된 숫자를 다시 하나의 문자열로 합침
StringBuilder sb = new StringBuilder();
for (String digit: digits)
sb.append(digit);
// 문자열을 long형으로 변환하여 반환
return Long.parseLong(sb.toString());
}
}
(풀이2)
더보기
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
ArrayList<Integer> nums = new ArrayList<>();
while (n > 0) {
long tmp = n % 10;
nums.add((int) tmp);
n /= 10;
}
nums.sort(Collections.reverseOrder());
for (int i = 0; i < nums.size(); ++i) {
answer *= 10;
answer += nums.get(i);
}
return answer;
}
}
반응형