10989: 수 정렬하기 3

2022. 5. 9. 01:53C언어/백준

-Class2 : Silver5

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

 

10989번: 수 정렬하기 3

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

www.acmicpc.net

 

-결과

 

-코드

#include <stdio.h>
 
int bucket[10001];
 
int main() {
    int N = 0;
    int num = 0;
 
    scanf("%d", &N);
    for (int i = 0; i < N; i++) {
        scanf("%d", &num);
        bucket[num]++;
    }
 
    for (int i = 1; i <= 10000; i++) {
        for (int j = 0; j < bucket[i]; j++) {
            printf("%d\n", i);
        }
    }
 
    return 0;
}

 

-풀이

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

for문으로 먼저 배열을 입력받고, 각 숫자의 빈도수를 계산해서 배열에 집어넣는다.

그리고 for문으로 빈도수대로 출력한다.

'C언어 > 백준' 카테고리의 다른 글

11651: 좌표 정렬하기 2  (0) 2022.05.21
11650: 좌표 정렬하기  (0) 2022.05.21
10814: 나이순 정렬  (0) 2022.05.09
7568: 덩치  (0) 2022.05.09
17478: 재귀함수가 뭔가요?  (0) 2022.05.05