본문 바로가기
ALGORITHM/C++ - 백준

[백준 11004] K번째 수

by DDongYeop 2023. 11. 13.
728x90

문제

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

 

11004번: K번째 수

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

www.acmicpc.net

 

 

문제 분석

입력 받을 수의 개수와 몇 번째에 있는 수를 출력할지를 입력받고, 

 

그 수를 오름차순으로 정렬한 후 입력받은 수의 번째에 있는 수를 출력하면 된다. 

 

 

알고리즘 설계

우선 몇 가지 수를 받을지, 몇 번째 수를 출력할지, 수를 입력 받을 정수형 변수, 

int가 들어가는 vector를 하나 만들어준다. 

 

이후 몇 가지 수를 받을지와 몇 번째 수를 출력할지 입력 받고

 

몇 가지 수를 받을지 입력 받은 수 대로 반복문을 돌려준다. 

반복문 내부에서 입력을 받고, vector에 넣어준다. 

 

반복문이 끝나면 sort 함수를 사용하여 오름차순 정렬을 해주고, 입력 받은대로 출력해준다. 

 

 

유의점

시간 초과가 날 수 있으니 아래 코드를 삽입하여야한다.

ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);

 

 

코드

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

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    int n, k, input;
    vector<int> vec;
    cin >> n >> k;
    for (int i = 0; i < n; ++i)
    {
        cin >> input;
        vec.push_back(input);
    }

    sort(vec.begin(), vec.end());
    cout << vec[k - 1];
}
728x90

'ALGORITHM > C++ - 백준' 카테고리의 다른 글

[백준 1920] 수 찾기  (1) 2023.11.13
[백준 25192] 인사성 밝은 곰곰이  (1) 2023.11.13
[백준 10825] 국영수  (0) 2023.11.09
[백준 7795] 먹을 것인가 먹힐 것인가  (0) 2023.11.09
[백준 10816] 숫자 카드 2  (1) 2023.11.09

댓글