Deff_Dev

[프로그래머스] 배열 조각하기 (C++) 본문

코딩테스트/프로그래머스

[프로그래머스] 배열 조각하기 (C++)

Deff_a 2024. 12. 2. 17:11

문제

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

풀이

이 문제의 조건은 다음과 같다.

  • 짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외하고 배열의 query[i]번 인덱스 뒷부분을 잘라서 버립니다.
  • 홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query[i]번 인덱스 앞부분을 잘라서 버립니다.

여기서 주의해야할 점은 여기서 얘기하는 짝수, 홀수 인덱스는 query[i]의 값이 아닌 i 값이라는 거다.

 

위 내용만 생각하면 문제 자체는 어렵진 않았다.

#include <vector>

using namespace std;

bool IsEven(int num){
    return num % 2 == 0;
}

vector<int> solution(vector<int> arr, vector<int> query) {

    for(int i = 0;i < query.size(); i++){
        int q = query[i];
        
        if(IsEven(i))
            arr.erase(arr.begin() + q + 1, arr.begin() + arr.size());
        else
            arr.erase(arr.begin() , arr.begin() + q ); 
    }
    
    return arr;
}