import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import javax.sound.sampled.ReverbType;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
String num = bufferedReader.readLine();
long[] N = new long[num.length()]; // 배열 초기화
long tmp = 0;
for(int i = 0; i < num.length(); i++)
N[i] = (long)(num.charAt(i)-'0');
Arrays.sort(N);
for(int i = 0; i < num.length(); i++) {
for(int j = 0; j < num.length()-i-1; j++) {
if(N[j] < N[j+1]) {
tmp = N[j];
N[j] = N[j+1];
N[j+1] = tmp;
}
}
}
for(int i = 0; i < num.length(); i++)
bufferedWriter.write(N[i]+"");
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
}
}
"N은 1,000,000,000보다 작거나 같은 자연수이다." 라는 조건 때문에 자료형을 long으로 선언했다.
Buffer으로 빠른 입출력을 구현했다.
num.charAt(i)에서 문자로 값을 입력받기 때문에 -'0'을 해주면 된다.
자바 내장함수 Arrays.sort()을 이용하여 값을 정렬하고 아래에 있는 이중 for문(버블 정렬) 코드로 내림차순을 구현했다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준_JAVA_알고리즘] 11651 좌표 정렬하기 2 (0) | 2024.02.07 |
---|---|
[백준_JAVA_알고리즘] 11650 좌표 정렬하기 (0) | 2024.02.07 |
[백준_JAVA_알고리즘] 2751 수 정렬하기 2 (0) | 2024.02.06 |
[백준_JAVA_알고리즘] 25305 커트라인 (0) | 2024.02.05 |
[백준_JAVA_알고리즘] 2587 대표값2 (0) | 2024.02.05 |