#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
int main() {
int count,a;
cin >> count;
int arr[10001] = { 0 };
for (int i = 1; i < count + 1; i++) {
cin >> a;
arr[a]++;
}
for (int i = 1; i < 10001;i++) {
if (arr[i] != 0) {
for (int j = 0; j < arr[i]; j++) {
cout << i << "\n";
}
}
}
return 0;
}
카운팅정렬
입력하는 수의 범위가 작을 경우 범위 만큼의 배열을 만들어서 입력한 수의 index를 1 증가시킨다.
이후 루프를 돌면서 arr[i]가 0이 아닌 것들만 찾아서 arr[i]이 증가한만큼 인덱스를 출력한다.
'백준' 카테고리의 다른 글
| [백준] 11047번, 1931번 - 그리디 알고리즘 (0) | 2021.12.31 |
|---|---|
| [백준] 1003번 - 동적 계획법 (0) | 2021.12.30 |
| [백준] 15649번 - 백트래킹 알고리즘, DFS (0) | 2021.12.29 |
| [백준] 2750번 - 선택정렬,버블정렬,삽입정렬 (0) | 2021.12.28 |
| [백준] 11729번 하노이 탑 - 재귀 알고리즘 (0) | 2021.12.26 |