이 문제도 sort()
함수를 사용하면 편하겠지만!
아쉽게도 버블정렬로 풀어야함..ㅎㅎ....
생각한 풀이
입력한 문자열을substring
을 이용해서 자른 후, 정수로 배열에 담는다.
그 후 배열을 버블 정렬을 통해 내림차순으로 정렬한다.(참고)
package Practice;
import java.util.Scanner;
public class Practice17 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
// 2. 문자열 길이로 정수배열 생성하기
int[] arr = new int[str.length()];
// 3. 문자열의 각 문자 정수로 배열에 저장하기
for(int i=0; i<str.length(); i++) {
arr[i] = str.charAt(i) - '0';
}
// 4. 배열 내림차순 정렬하기
for(int i =0; i<arr.length-1; i++) {
int lastExchangeNum = 0;
int lastExchangeIndex = 0;
for(int j = arr.length-1; j > i; j--) {
if(arr[j] > arr[j-1]) {
int tmp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = tmp;
lastExchangeNum++;
lastExchangeIndex = j-1;
}
}
if(lastExchangeNum == 0) break;
else i = lastExchangeIndex;
}
StringBuilder sb = new StringBuilder();
for( int value : arr) {
sb.append(value);
}
System.out.println(sb.toString());
sc.close();
}
}