[boj] (b5) 2751_수_정렬하기_2

강신현·2022년 1월 29일
0

문제 링크

조건

시간 제한 : 2 초
메모리 제한 : 256 MB

문제

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

입력

첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다.
둘째 줄부터 N개의 줄에는 수가 주어진다.
이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다.
수는 중복되지 않는다.

출력

첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.

풀이

시간 복잡도가 O(nlogn) 인 정렬 알고리즘으로 풀 수 있다.
ex : 병합 정렬, 힙 정렬

어려운 알고리즘이므로 언어에 내장된 정렬 함수를 쓰는 것을 추천한다고 한다.
이문제는 c++ 내장 sort함수를 통해 구현이 가능하지만,
병합 정렬이나 힙 정렬을 적접 구현해야만 풀 수 있는 문제도 있다고 한다.

다음에 관련 문제가 나오면 꼭 직접 구현해보도록 하자!

c++ sort 함수

#include <iostream>
#include <algorithm>

using namespace std;

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

    int N;
    cin >> N;

    int arr[N];

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

    sort(arr, arr + N);

    for (int i = 0; i < N; i++)
    {
        cout << arr[i] << '\n';
    }

    return 0;
}
profile
땅콩의 모험 (server)

0개의 댓글