Hueestory

[10989] 수 정렬하기 3 (C++) 본문

PS(중단)/BOJ

[10989] 수 정렬하기 3 (C++)

히명 2024. 5. 1. 11:21
#include <iostream>

using namespace std;

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

    int num[10001] = { 0 };
    int tmp;
    int n; cin >> n;

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

    for (int i = 1; i < 10001; i++) {
        for (int j = 0; j < num[i]; j++)
            cout << i << "\n";
    }
    
    return 0;
}

 

1. 메모리 제한 8mb, 수의 개수는 10,000,000개로 vector를 사용하면 메모리 초과

=> O(nlogn)보다 시간복잡도가 낮은 알고리즘을 사용해야 함

2. 배열을 사용하여 입력받은 자연수 index의 값을 증가시켜주는 계수 정렬 알고리즘을 사용

 

'PS(중단) > BOJ' 카테고리의 다른 글

[13023] ABCDE (C++)  (0) 2024.05.01
[2023] 신기한 소수 (C++)  (1) 2024.05.01
[2751] 수 정렬하기 2 (C++)  (1) 2024.04.26
[2884] 알람 시계 (C++)  (0) 2024.04.26
[2753] 윤년 (C++)  (0) 2024.04.25
Comments