카운팅 정렬 활용

#include <iostream>
using namespace std;

int num[10001] = {};

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(NULL);
	cout.tie(NULL);

	int n = 0;
	cin >> n;

	for (int i = 0; i < n; ++i) {
		int a;
		cin >> a;
		++num[a];
	}

	for (int i = 0; i < 10001; ++i) {
		while(num[i] > 0){
			cout << i << "\n";
			--num[i];
		}
	}

	return 0;
}

endl보다 \n이 빠르다

https://www.acmicpc.net/problem/10989

 

10989번: 수 정렬하기 3

첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다.

www.acmicpc.net