반응형
<문제 소개>
<소스 코드>
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <map>
#include <unordered_map>
#include <cmath>
#include <stack>
#include <queue>
#include <algorithm>
#include <cstdlib>
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> v(N);
for (int i = 0; i < N; i++)
{
cin >> v[i];
}
for (int i = 0; i < v.size() - 1; i++)
{
int maxVal = v[i];
int maxIndex = i;
for (int j = i + 1; j < v.size(); j++)
{
if (maxVal < v[j])
{
maxVal = v[j];
maxIndex = j;
}
}
swap(v[i], v[maxIndex]);
}
cout << v[k - 1];
return 0;
}
<풀이과정>
1. 입력을 받아서 벡터에 저장
2. 선택정렬을 이용해 주어진 벡터를 내림차순으로 정렬
3. k-1번째 원소를 출력
<코멘트>
선택정렬로 풀어보았다!
<제출결과>