728x90
개요
https://www.acmicpc.net/problem/11931
실버급 정렬 문제다.
풀이
STL의 sort로 간단하게 해결할 수 있다.
algorithm 헤더를 include 해서 사용할 수 있다.
std::sort는 intro sort라는 방식을 사용하는데, quick sort의 개선 방식이라고 한다.
기본적으로 퀵 정렬의 빠른 성능을 내지만 최악의 경우에도 O(nlogn)을 보장한다.
// 오름차순(기본)
sort(begin, end, less<자료형>());
// 내림차순
sort(begin, end, greater<자료형>());
위와 같이 오름차순, 내림차순으로 정렬할 수 있다.
end는 마지막 값 다음 위치임에 주의!
코드
#include<iostream>
#include<algorithm>
using namespace std;
constexpr int LIMIT = 1000002;
int N;
int num[LIMIT];
int main()
{
cin.tie(0)->sync_with_stdio(0);
cin >> N;
for (int i = 0; i < N; i++)
cin >> num[i];
sort(num, num + N, greater<>());
for (int i = 0; i < N; i++)
cout << num[i] << "\n";
}
'알고리즘&자료구조 > 문제' 카테고리의 다른 글
[BOJ] 1937 욕심쟁이 판다 C++ (0) | 2023.02.09 |
---|---|
[BOJ] 11123 양 한마리... 양 두마리... C++ (0) | 2023.02.09 |
[BOJ] 15649 N과 M (1) C++ (0) | 2023.02.07 |
[BOJ] 16933 벽 부수고 이동하기 3 C++ (0) | 2023.02.06 |
[BOJ] 14442 벽 부수고 이동하기 2 C++ (2) | 2023.02.05 |