2026.04.14(TUE)_131일차
1. 문제
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n | return |
118372 | 873211 |
2. 풀이
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public long solution(long n) {
List<String> arr = Arrays.stream(String.valueOf(n).split(""))
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
String str = String.join("", arr);
long answer = Long.parseLong(str);
return answer;
}
}3. 다른 사람의 풀이
// 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
// 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
public class ReverseInt {
String res = "";
public int reverseInt(int n){
res = "";
Integer.toString(n).chars().sorted().forEach(c -> res = Character.valueOf((char)c) + res);
return Integer.parseInt(res);
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args){
ReverseInt ri = new ReverseInt();
System.out.println(ri.reverseInt(118372));
}
}Share article