선택 정렬
소트인사이드
Question - 1427

Code
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
int[] A = new int[str.length()];
for (int i = 0; i < str.length(); i++) {
A[i] = Integer.parseInt(str.substring(i, i + 1));
}
for (int i = 0; i < str.length(); i++) {
int Max = i;
for (int j = i + 1; j < str.length(); j++) {
if (A[j] > A[Max])
Max = j;
}
if(A[i] < A[Max]) {
int temp = A[i];
A[i] = A[Max];
A[Max] = temp;
}
}
for (int i = 0; i < str.length(); i++) {
System.out.print(A[i]);
}
}
}
Insight
나머지 연산으로 분리할 수도 있지만, 여기서는 입력값을 String으로 받은 수 substring() 함수를 이용해 자릿수 단위로 분리하고, 이를 다시 int형으로 변경해 배열에 저장한다.
for 문에 j = 0, 이라고 해서 오름차순이 출렸됐다. for 문의 초기, 조건, 증가 조건을 주의해서 쓰자.
두 번째에서, int 배열로 선언하면 안되고, Integer 배열로 선언해야 한다.
Idea
문자열
정렬
reference
Last updated