Algorithm/Baekjoon

[Baekjoon] C++ 11004번 - K번째 수 (Silver 5)

유제필 2022. 12. 7. 15:35

11004번: K번째 수

 

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB 45258 15136 10327 40.224%

문제

수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 5,000,000)과 K (1 ≤ K ≤ N)이 주어진다.

둘째에는 A1, A2, ..., AN이 주어진다. (-109 ≤ Ai ≤ 109)

출력

A를 정렬했을 때, 앞에서부터 K번째 있는 수를 출력한다.

예제 입력 1 복사

5 2
4 1 2 3 5

예제 출력 1 복사

2

 

 

정답

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() 
{
    cin.tie(NULL);
    ios::sync_with_stdio(false);
    
    int N, K, A;
    vector<int> v;
    
    cin >> N >> K;
    
    for(int i = 0; i < N; i++) {
        cin >> A;
        
        v.push_back(A);
    }
    
    sort(v.begin(), v.end());
    cout << v[K - 1] << '\n';
    

    return 0;
}

 

문제풀이

정렬 후 K번째의 수를 출력하는 문제이다.

그냥 STL을 이용하여 간단하게 sort 후 출력하였다.