[BaekJoon] #1427 소트인사이드

현굥·2024년 9월 8일

BaekJoon

목록 보기
25/53

문제이해

정렬하려고 하는 수가 주어지면, 각 자리수에 해당하는 숫자를 내림차순으로 정렬하면 됩니다.

입력

입력으로 정렬하려는 수 N을 입력받습니다. (N은 1,000,000,000보다 작거나 같은 자연수)

출력

내림차순으로 정렬한 수를 출력합니다.


문제접근

입력의 범위가 크므로, List를 선언하여 Collections.sort을 이용하여 정렬해주었습니다.

입력 처리를 위해 BufferedReader를 사용했습니다.

List으로 변환

  • 입력받은 문자열의 각 문자를 charAt()를 사용하여 인덱스에 해당하는 단일문자를 추출 한 후, List 에 저장해주었습니다.

정렬 _ Collections.sort()

  • Collections.sort()함수를 사용하여 List를 정렬해주었습니다.
  • 내림차순으로 정렬해주기 위해 인자로 Collectons.reverseOrder()를 추가하였습니다.
// list 를 내림차순으로 정렬
Collections.sort(list, Collections.reverseOrder());

code

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        List <Character> list = new ArrayList<>();
        String str = br.readLine();
        for( int i=0; i<str.length(); i++){
            list.add(str.charAt(i));
        }
        Collections.sort(list, Collections.reverseOrder());
        for(char c: list){
            System.out.print(c);
        }
    }
}

0개의 댓글