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;
}
'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 두 정수 사이의 합 (0) | 2020.12.13 |
---|---|
[프로그래머스] 문자열 내 p와 y의 개수 (0) | 2020.12.12 |
[프로그래머스] 문자열 다루기 기본 (0) | 2020.12.12 |
[프로그래머스] 2016년 (0) | 2020.12.09 |
[프로그래머스] 가운데 글자 가져오기 (0) | 2020.12.09 |