https://www.acmicpc.net/problem/1427
Idea
시간이 무려 0ms 미만으로 나온 깔끔한 문제. Counting Sort
알고리즘을 사용했다. 한 번 배워놓으니 유용하게 잘 쓰이는 정렬 알고리즘인 것 같다^^*
Code
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int arr[10] = { 0, };
int N;
scanf("%d", &N);
while (N != 0) {
arr[N % 10]++;
N /= 10;
}
for (int i = 9; i >= 0; i--) {
if (arr[i] == 0) {
continue;
}
for (int j = 0; j < arr[i]; j++) {
printf("%d", i);
}
}
return 0;
}