Programmers 42748 K번째수
in Algorithm
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42748
나의 풀이
- array를 초기 index와 묶어서 정렬
- 정렬한 array의 초기 index가 i이상 j이하면 count를 증가시킴
- count == k 이면 결과를 배열어 넣어줌
풀이 코드 : 42748 K번째수
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
vector<pair<int, int>> arr;
for(int i=0;i<array.size();i++){
arr.push_back(make_pair(array[i], i+1));
}
sort(arr.begin(), arr.end());
for(int i=0;i<commands.size();i++){
int count = 0;
for(int k=0;k<arr.size();k++){
if(arr[k].second >= commands[i][0] && arr[k].second <= commands[i][1]){
count++;
if(count == commands[i][2]) {
answer.push_back(arr[k].first);
break;
}
}
}
}
return answer;
}