알고리즘/백준
알고리즘(C++) / 백준 11004 : K번째 수
clean_h
2021. 4. 14. 10:10
728x90
11004
11004번: K번째 수
수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
문제
수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 5,000,000)과 K (1 ≤ K ≤ N)이 주어진다.
둘째에는 A1, A2, ..., AN이 주어진다. (-109 ≤ Ai ≤ 109)
출력
A를 정렬했을 때, 앞에서부터 K번째 있는 수를 출력한다.
코드
//11004 K번째 수
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, K;
cin >> N >> K;
vector <int> vec(N);
for (int i = 0; i < N; i++) {
cin >> vec[i];
}
sort(vec.begin(), vec.end());
cout << vec[K-1] << "\n";
return 0;
}
설명
이번 문제는 간단하게 algorithm 해더에 있는 sort함수를 통해서 오름차순으로 정렬하고 K번째 있는 수를 출력할 수 있다.
vector로 수 N개를 입력받은 후 vector를 오름차순으로 정렬한다.
그 후 K-1번째를 출력한다. (배열은 0부터 시작)
결과
고찰
이번문제는 어렵지 않게 풀 수 있었다.
5분도 채 안돼서 문제를 풀었다.
난이도
◐○○○○
728x90