https://www.acmicpc.net/problem/10989
계수 정렬을 이용해야 풀 수 있는 문제였다. 문제는 8mb까지 요구했기 때문에 시간복잡도와 공간복잡도를 처리해야하는 문제였다..
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int arr[10001] = { 0, };
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
int num;
scanf("%d", &num);
arr[num] = arr[num] + 1;
}
for (int i = 1; i < 10001; i++)
{
for (int j = 1; j < arr[i]; j++)
{
printf("%d\n", i);
}
}
return 0;
}