백준[10989] - 수 정렬하기 3

문제

백준 10989 문제 보기

접근 방법

문제는 간단하다. 입력된 수를 오름차순으로 정렬만 하면 된다. 하지만 입력이 10,000,000 이다. 즉, sort로 간단하게 구현하면 메모리 초과를 유발할 수 있다. 이에 따라 다른 접근 방법을 택했다. 입력을 받으며 해당 숫자가 몇개 입력 됐는지 체크한다.

코드

#include <iostream>
#include <cstring>

using namespace std;

int N;
int arr[10001];

int main() {

    cin >> N;

    memset(arr, 0, sizeof(arr));

    int num = 0;
    for(int i = 0; i < N; i ++) {
        cin >> num ;
        arr[num] += 1;
    }

    for(int i = 1; i <= 10000; i ++) {
        if(arr[i] > 0) {
            for(int j = 0; j < arr[i]; j ++) {
                cout << i << '\n';
            }
        }
    }

    return 0;
}
Share