1) String으로 받아서 int배열에 넣기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String n = br.readLine();
int[] arr = new int[n.length()];
for(int i = 0; i<arr.length; i++)
arr[i] = n.charAt(i) - '0';
for(int i = 0; i<arr.length; i++){
int max = i;
for(int j = i+1; j<arr.length; j++){
if(arr[j]> arr[max])
max = j;
}
if(arr[i] < arr[max]){
int temp = arr[i];
arr[i] = arr[max];
arr[max] = temp;
}
}
for (int j : arr) sb.append(j);
System.out.print(sb.toString());
br.close();
}
}
2) String으로 받아서 ArrayList 의 sort함수 이용
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String[] str = br.readLine().split("");
List<Integer> list = new ArrayList<>();
for(String s : str) list.add(Integer.parseInt(s));
list.sort((a,b)->b-a);
for(Integer a:list) sb.append(a);
System.out.println(sb);
br.close();
}
}
3)Collections.max 사용
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String[] str = br.readLine().split("");
List<Integer> list = new ArrayList<>();
for(String s : str) list.add(Integer.parseInt(s));
for(String s : str){
int max = Collections.max(list);
list.remove((Integer) max);
sb.append(max);
}
System.out.println(sb);
br.close();
}
}
'백준' 카테고리의 다른 글
백준 풀이 10989 | JAVA (0) | 2024.06.26 |
---|---|
백준 문제 풀이 2751 | JAVA (0) | 2024.06.25 |
백준 문제 풀이 25305 | JAVA (0) | 2024.06.25 |
백준 문제 풀이 2587 | JAVA (0) | 2024.06.25 |
백준 문제 풀이 2750 | JAVA (0) | 2024.06.25 |