BOJ 1427[백준 1427]

소트인사이드

조건

  1. 숫자가 주어진다.

결과

  • 주어진 숫자를 내림차순으로 출력

해결 방법

  • 숫자를 쪼개서 배열에 담은 후, 정렬한다.
  1. 숫자를 String으로 변환한다.
  2. String의 각 자릿수에 해당하는 char를 int로 변환하여 int배열에 넣는다.
  3. 버블 소트를 통해 내림차순으로 정렬한다.

핵심 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int N = scan.nextInt();
String tmp = String.valueOf(N);
int[] result = new int[tmp.length()];
for(int i = 0; i < tmp.length(); i++) {
result[i] = Character.getNumericValue(tmp.charAt(i));
}
for(int i = 0; i < tmp.length(); i++) {
for(int j = 0; j < tmp.length()-i-1; j++) {
if(result[j] < result[j+1]) {
int tmpInt = result[j];
result[j] = result[j+1];
result[j+1] = tmpInt;
}
}
}
for(int i = 0; i < tmp.length(); i++) {
System.out.print(result[i]);
}

전체 소스 코드는 여기서 확인하실 수 있습니다.