1427
1427번 문제#include
#define MAX 10000
int main(void) {
int arr[MAX], n, k = 0, i, j, temp, a;
scanf("%d", &n);
do {
arr[k++] = n % 10;
} while ((n /= 10) != 0);
for (i = 1; i < k; i++)
for (j = 0; j < i; j++) {
if (arr[i] < arr[j]) {
a = i;
temp = arr[i];
while (a > j)
arr[a--] = arr[a - 1];
arr[j] = temp;
}
}
for (i = k-1; i >= 0; i--)
printf("%d", arr[i]);
}
결과
처음 입력 받는 숫자만 자릿수대로 나눠서 배열에 저장한다면 나머지는 전의 문제에서 풀었던 정렬 코드를 그대로 이용하면 된다. 이 경우에는 insertion sort를 이용하였다.