문제

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

입력

첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

 

입력 예제 1

2143
출력 예제 1

4321

문제풀이

 

이 문제는 워낙에 쉽기때문에 별로 설명할 것이 없다.

 

그냥 각 자릿수대로 나눠서 배열에 저장 후 내림차순으로 정렬한다.

 

그리고 다시 그 값들을 순서대로 붙이면 끝난다.


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.io.*;
import java.util.*;
 
public class Main
{
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
 
    public static String sortInside() throws IOException {
        // 값을 입력받음
        String[] tmp = br.readLine().split("");
        Integer[] digits = new Integer[tmp.length];
        for(int i = 0 ; i < digits.length ; i++) {digits[i] = Integer.parseInt(tmp[i]);}
        // 내림차순으로 정렬함
        Arrays.sort(digits, Collections.reverseOrder());
        // 정렬한 배열을 문자열로 만듦.
        StringBuffer result = new StringBuffer("");
        for(int i = 0 ; i < digits.length ; i++) {result.append(digits[i]);}
        // 문자열을 리턴함.
        return result.toString();
    }
 
    public static void main(String args[]) throws IOException {
        bw.write(sortInside());
        bw.flush();
        bw.close();
    }
}
 
cs

느낀점

 

쉽다!

 

 

 

 

 

 

 

+ Recent posts