수 정렬하기 2
시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 | 256 MB | 224808 | 64544 | 44872 | 30.458% |
문제
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::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, number;
vector<int> result;
cin >> N;
for(int i = 0; i < N; i++) {
cin >> number;
result.push_back(number);
}
// 오름차순 정렬
sort(result.begin(), result.end());
for(int i = 0; i < N; i++) {
cout << result[i] << '\n';
}
return 0;
}
문제 풀이
하나하나 입력 받고 sort 함수를 이용해 정렬한다.
버블 정렬같이 시간 복잡도가 느린 정렬 방식들은 모두 실패한다.
나중에 값 출력할 때도 endl;로 줄 바꿈 시 시간을 많이 잡아먹어 '\n' 줄 바꿈 형식을 사용했다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[Baekjoon] C/C++ 2164번 - 카드2 (Silver 4) (0) | 2022.12.06 |
---|---|
[Baekjoon] C++ 18258번 - 큐2 (Silver 4) (0) | 2022.12.05 |
[Baekjoon] C++ 1920번 - 수 찾기 (Silver 4) (0) | 2022.12.05 |
[Baekjoon] C++ 1181번 - 단어 정렬 (Silver 5) (0) | 2022.12.01 |
[Baekjoon] C++ 1312번 - 소수 (Silver 5) (0) | 2022.11.20 |