본문 바로가기

프로그래밍 언어/C, C++

[Hackerrank] 21. Vector-Sort

21. Vector-Sort

[ 난이도: Easy | 분야: STL ]

1. 내용 정리

N개의 정수가 주어진다고 가정하자. N개의 정수들을 정렬하고 정렬한 순서대로 출력해라.

N개의 정수들을 벡터에 저장해라. 벡터는 가변적인 크기를 가지는 배열이다.

정의

vector<int> v;

비어있는 정수를 담을 수 있는 벡터를 생성한다.

 

크기

int size = v.size();

 

벡터에 정수 넣기

v.push_back(x);

x는 정수다. 이 이후에 벡터의 크기가 1 증가한다.

 

벡터의 마지막 값을 빼니기

v.pop_back();

이 이후에 벡터의 크기가 1 줄어든다.

 

벡터 정렬

sort(v.begin(), v.end());

벡터의 모든 값을 정렬한다.

 

2. 과제

입력 형식

첫 번째 줄은 정수의 개수를 표현하는 N을 포함하고 있다.

다음 줄은 N개의 정수를 포함한다.

 

제약 사항

N은 1보다 크거나 같고 10^5보다 작거나 같다.

V_i는 1보다 크거나 같고 10^9보다 작거나 같다.(V_i는 벡터 내의 i번째 정수를 나타낸다.)

 

출력 형식

순서대로 정렬된 정수들을 단일 줄에 공백으로 구분하여 출력한다.

 

입력 예시

5
1 6 10 8 4

 

출력 예시

1 4 6 8 10

 

문제

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */   
    return 0;
}
더보기

정답

#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */
    int N; // Number of integers
    cin >> N;
    vector<int> v; // Storage
    
    // Push back into vector
    for(int i = 0; i < N; i++) {
        int temp;
        cin >> temp;
        v.push_back(temp);
    }
    // Sorted
    sort(v.begin(),v.end());
    // print out
    for(int i = 0; i < N; i++) {
        cout << v[i] << " ";
    }
    
    return 0;
}

 

 

 

 

 

©️ Hackerrank. All Rights Reserved.