본문 바로가기
코딩테스트 준비/프로그래머스

[프로그래머스][C++][0단계] 리스트 자르기

by 스테디코디스트 2023. 11. 7.
반응형

<문제 소개>


<소스 코드>

#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을 리턴한다.


<코멘트>

어렵지 않게 풀었다!


<제출결과>