본문 바로가기

백준/C++

[BaeKJoon/C++] 백준2751 c++ 수 정렬하기2

반응형

https://www.acmicpc.net/problem/2751

 

2751번: 수 정렬하기 2

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

www.acmicpc.net

 

코드

#include <iostream>
#include <algorithm>            // sort를 사용하기 위한 헤더파일
#include <vector>               // vector를 사용하기 위한 헤더파일
 
using namespace std;
 
int main() {
 
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);                // 입출력 향상
 
    int n;
    cin>>n;
    vector<int>v(n);            // v는 기본값으로 초기화된 n개의 원소를 갖는다.
// n에 5를 입력하면 vector에서 알아서 5개의 메모리가 생성된다.
    for(int i=0; i<n; i++){
        cin>>v[i];
    }
 
    sort(v.begin(), v.end()); // begin, end함수로 시작과 끝을 인자로 넣으면 자동으로 오름차순으로 정렬된다.
 
    for(int i=0; i<n; i++)
        cout<<v[i]<<"\n";
    
}
cs
 
 

 

vector : 자동으로 메모리가 할당되는 배열

 

마지막 cout<<v[i]<<endl;를 쓰게 되면 시간초과가 뜬다.

endl는 나올 때마다 버퍼를 비우는 등의 부하가 발생하기 때문에 "\n"으로 바꿔주면 빨라진다.

 

반응형