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;
}
'자료구조 & 알고리즘 > 프로그래머스' 카테고리의 다른 글
Level 0. 무작위로 K개의 수 뽑기 (0) | 2023.05.02 |
---|---|
Level 0. 왼쪽 오른쪽 (0) | 2023.05.01 |
Level 0. 수열과 구간 쿼리 1 (0) | 2023.04.30 |
Level 0. 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 (0) | 2023.04.30 |
Level 0. 날짜 비교하기 (0) | 2023.04.29 |