문제
N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.
입력
첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다.
이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.
출력
첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
5
5
4
3
2
1
예제 출력 1
1
2
3
4
5
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
vector<int> v;
int n;
cin >> n;
while(n--) {
int num;
cin >> num;
v.push_back(num);
}
sort(v.begin(), v.end());
for(const auto &element : v) {
cout << element << '\n';
}
return 0;
}
algorithm 헤더의 sort함수를 이용했다.
sort함수는 퀵 정렬이라고 한다.
퀵 정렬 외에도 버블정렬, 합병정렬, 등등... 많지만 이미 구현되어있는것을 사용하기에도 시간초과가 뜨지 않아서
사용했다.
특히 어려운 부분은 없었다.
'PS > 백준' 카테고리의 다른 글
백준 / 수학 / 1193번 / 분수찾기 / C++ (0) | 2022.01.09 |
---|---|
백준 / 수학 / 2869번 / 달팽이는 올라가고 싶다 / C++ (0) | 2022.01.07 |
백준 / 정렬 / 1181번 / 단어 정렬 / C++ (0) | 2021.09.17 |
백준 / 정렬 / 11650번 / 좌표 정렬하기 / C++ (0) | 2021.09.16 |