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
'알고리즘 > 백준' 카테고리의 다른 글
알고리즘(C++) / 백준 10828 : 스택 (0) | 2021.04.15 |
---|---|
알고리즘(C++) / 백준 11652 : 카드 (0) | 2021.04.14 |
알고리즘(C++) / 백준 10989 : 수 정렬하기 3 (0) | 2021.04.12 |
알고리즘(C++) / 백준 10825 : 국영수 (0) | 2021.04.12 |
알고리즘(C++) / 백준 10814 : 나이순 정렬 (0) | 2021.04.11 |
댓글