array 배열과 [i,j,k] 를 입력 받았을 때, array 에 대해서 i~j 까지 정렬한 후, k번째 수를 구하는 문제

임시 벡터 temp를 선언한 후, i~j까지의 값을 담아준다.

array를 1부터 세기 때문에, k 번째 수 역시 k-1번째를 반환해야 한다.

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> array, vector<vector<int>> commands) {
    vector<int> answer;
    for(int i = 0; i < commands.size(); i++)
    {
        vector<int> temp;
        for(int j = commands[i][0] -1; j < commands[i][1]; j++)
        {
            temp.push_back(array[j]);
        }
        sort(temp.begin(), temp.end());
        answer.push_back(temp[commands[i][2] - 1]);
        temp.clear();
    }
    
    return answer;
}

+ Recent posts