728x90

0. 주어진 문제 

시간 제한메모리 제한제출정답맞은 사람정답 비율
3 초 (하단 참고)8 MB (하단 참고)336246856513323.539%

문제

N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.

입력

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

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.












 1. 풀이


1) counting sort를 활용해서 정렬해보았다.

2) 계속 런타임오류가 발생하길래 iostream 대신에 stdio.h로 바꾸어 구현하니 완성시킬 수 있었다.



 2. 소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
int count[10001];
int main()
{
    int n, i, input;
    scanf("%d"&n);
    for (i = 0;i<n;i++) {
        scanf("%d",&input);
        count[input]++;
    }
    for (i = 1;i < 10001;i++) {
        if(count[i]) {
            for (int t = 0;t < count[i];t++) {
                printf("%d\n",i);
            }
        }
    }
}
 
cs


 3. 문제 출처


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


 4. 참고




+ Recent posts