반응형
이 문제 역시 이전에 풀어보았던 문제로 이전에는 정수로 데이터를 입력받은 뒤 수학적으로 각 자릿수를 추출하였지만, 이번에는 String 타입으로 데이터를 다루어 보았다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt(); // 데이터 입력
ArrayList<Character> arr = new ArrayList<Character>(); // String타입의 데이터를 문자형으로 저장 할 arrayList
for(int i =0;i<String.valueOf(n).length();i++) { // 데이터를 String 타입으로 변환한 뒤, 각 자리 수를 추출해 arrayList에 저장
arr.add(String.valueOf(n).charAt(i));
}
Collections.sort(arr); // 추출한 문자형 데이터들을 정렬
for(int i =arr.size()-1;i>=0;i--) { // 해당 arrayList를 역순으로 출력
System.out.print(arr.get(i));
}
}
}
위의 방식과 비슷하게 Collections.sort(arr, Collections.reverseOrder());과 같이 reverseOrder() 메서드를 활용해 역순으로 정렬하는 방법 또한 존재한다.
반응형