PS/백준

백준 / 정렬 / 2751번 / 수 정렬하기 2 / C++

KimMinJun 2021. 9. 17. 15:15

문제

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함수는 퀵 정렬이라고 한다.

퀵 정렬 외에도 버블정렬, 합병정렬, 등등... 많지만 이미 구현되어있는것을 사용하기에도 시간초과가 뜨지 않아서

사용했다.

 

특히 어려운 부분은 없었다.