반응형
<문제 소개>
<소스 코드>
#include <string>
#include <vector>
using namespace std;
vector<int> solution(int n, vector<int> slicer, vector<int> num_list)
{
vector<int> answer;
int a = slicer[0];
int b = slicer[1];
int c = slicer[2];
switch(n)
{
case 1:
for(int i = 0; i <= b; i++)
{
answer.push_back(num_list[i]);
}
break;
case 2:
for(int i = a; i < num_list.size(); i++)
{
answer.push_back(num_list[i]);
}
break;
case 3:
for(int i = a; i <= b; i++)
{
answer.push_back(num_list[i]);
}
break;
case 4:
for(int i = a; i <= b; i+=c)
{
answer.push_back(num_list[i]);
}
break;
}
return answer;
}
<풀이과정>
1. 알아보기 쉽게 a,b,c를 각각 선언해준다.
2. switch문을 이용해 n에 따른 경우의 수를 나눠준다.
3. 각 경우에 맞게 for문을 이용해 해당 범위에 맞는 값을 answer에 넣어준다.
4. 최종 answer을 리턴한다.
<코멘트>
어렵지 않게 풀었다!
<제출결과>