본문 바로가기

코딩테스트/백준

[백준] 10989번 : 수 정렬하기 3

728x90
반응형


🔗 문제 링크

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


반응형
728x90

👩‍💻 코드

#include <iostream>
using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    int N;
    cin >> N;
    
    int A[10001] = {0};
    for(int i=1; i<=N; i++){
        int index;
        cin >> index;
        
        A[index]++;
    }
    
    for(int i=0; i<=10000; i++){
        if(A[i] != 0){
            for(int j=0; j<A[i]; j++){
                cout << i << "\n";
            }
        }
    }
}

📝 풀이

Do it! 알고리즘 코딩테스트 - C++ 편 : 기출 유형 분석부터 문제 풀이 비법까지!를 참고하였습니다.

 

계수 정렬을 사용하여 풀었습니다.

숫자의 크기만큼 배열을 선언한 후 입력받은 수의 값을 배열의 인덱스값으로 판단하여 해당 인덱스의 값을 1 증가시킵니다.

이어서 배열을 처음부터 끝까지 탐색하면서 값이 0이 아닐 경우 해당 값이 있는 인덱스를 값만큼 반복하여 출력합니다.

728x90
반응형

'코딩테스트 > 백준' 카테고리의 다른 글

[백준] 2023번 : 신기한 소수  (0) 2024.09.09
[백준] 11724번: 연결 요소의 개수  (0) 2024.09.09
[백준] 11399번 : ATM  (4) 2024.09.07
[백준] 1377번: 버블 소트  (2) 2024.09.07
[백준] 11286번 : 절댓값 힙  (0) 2024.09.07