백준 15688 수 정렬하기 5 / C++

이유참치·2025년 12월 15일

백준

목록 보기
169/249

문제 : 15688

풀이 point

수를 정렬하기만 하는 쉬운 문제이다.

풀이 방법

그냥 라이브러리 함수를 통해 입력 받은 배열을 정렬하면 된다.

나는 카운팅 정렬을 공부하기 위해 카운팅 정렬을 사용하여 진행해보았다.

코드

//백준 15688, 수 정렬하기 5

#include <iostream>
#include <algorithm>

int plus[1'000'001];
int minus [1'000'001];

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

    int N, n;
    std::cin >> N;
    for(int i{0}; i<N; ++i){
        std::cin >> n;
        if(n < 0) ++minus[std::abs(n)];
        else ++plus[n];
    }

    for(int i{1'000'000}; i>0; --i){
        for(int j{0}; j<minus[i]; ++j){
            std::cout << -i << '\n';
        }
    }

    for(int i{0}; i<1'000'001; ++i){
        for(int j{0}; j<plus[i]; ++j){
            std::cout << i << '\n';
        }
    }


    return 0;
}
profile
임아리 - 대학생

0개의 댓글