본문 바로가기

[BOJ] - JAVA

[백준] 1427 : 소트인사이드 JAVA 풀이

이번 문제는 아주 간단했다!!

1. N을 입력받는다.

2. N의 각 자리수를 쪼개서 리스트에 넣는다.

3. 리스트를 내림차순으로 정렬한다.

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        // N의 각 자리수를 저장할 리스트 생성
        ArrayList<Integer> list = new ArrayList<Integer>();
        // N을 입력받는다
        int N = Integer.parseInt(br.readLine());
        
        // N이 0보다 클때까지 반복
        while(N>0){
            // N의 맨끝자리를 list에 저장한다
            list.add(N%10);
            // N을 10으로 나눈다
            N/=10;
        }
        
        // N의 각자리수를 저장하고 있는 리스트를 역순으로 정렬한다.
        Collections.sort(list,Collections.reverseOrder());
        
        // 리스트의 값을 출력한다.
        for(int val : list) System.out.print(val);
    }
}