반응형
vector 관련 메서드,
iterator 들만 잘 사용하면 되는 문제.
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
vector<int> solution(vector<int> array, vector<vector<int>> commands) {
vector<int> answer;
vector<int> temp_array;
vector<int>::iterator iter;
vector<int>::iterator iter2;
int solu;
int command_num;
int i,j,k;
int arraysize = array.size();
command_num = commands.size();
for(int t=0;t<command_num;t++)
{
vector<int> temp_array = array;
i = commands[t][0];
j = commands[t][1];
k = commands[t][2];
if(i==j)
{
solu = *(temp_array.begin()+i-1);
answer.emplace_back(solu);
}
else
{
for(int kk = 0;kk<i-1;kk++)
{
iter = temp_array.begin();
temp_array.erase(iter);
}
for(int kk=0;kk<arraysize-j;kk++)
{
iter2 = temp_array.end();
iter2--;
temp_array.erase(iter2);
}
sort(temp_array.begin(),temp_array.end());
solu = *(temp_array.begin()+k-1);
answer.emplace_back(solu);
}
}
return answer;
}
반응형
'개발자 > Algorithm' 카테고리의 다른 글
코테 시 ios_base::sync_with_stdio(false); cin.tie(null); 추가 이유 (0) | 2021.07.25 |
---|---|
c++ STL 함수 remove, remove_if (0) | 2021.04.22 |
Greedy 알고리즘 (0) | 2020.08.10 |
DP 동적 프로그래밍 설명 + 예제(타일링 문제) (0) | 2020.08.05 |
알고 코테 공부 순서 (0) | 2020.08.05 |