Level 0. 리스트 자르기
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(int n, vector<int> slicer, vector<int> num_list)
{
vector<int> answer;
int a = slicer[0], b = slicer[1] + 1, c = slicer[2];
switch (n)
{
case 1:
{
answer = vector<int>(num_list.begin(), num_list.begin() + b);
break;
}
case 2:
{
answer = vector<int>(num_list.begin() + a, num_list.end());
break;
}
case 3:
{
answer = vector<int>(num_list.begin() + a, num_list.begin() + b);
break;
}
case 4:
{
int cnt = 0;
auto pred = [c, &cnt](int e) { return (cnt++ % c) == 0; };
copy_if(num_list.begin() + a, num_list.begin() + b, back_inserter(answer), pred);
break;
}
}
return answer;
}