# [Algorithms] Complex Array

## 0단계 : 배열 조각하기

> 정수 배열 `arr`와 `query`가 주어집니다.
> 
> `query`를 순회하면서 다음 작업을 반복합니다.
> 
> * 짝수 인덱스에서는 `arr`에서 `query[i]`번 인덱스를 제외하고 배열의 `query[i]`번 인덱스 뒷부분을 잘라서 버립니다.
>     
> * 홀수 인덱스에서는 `arr`에서 `query[i]`번 인덱스는 제외하고 배열의 `query[i]`번 인덱스 앞부분을 잘라서 버립니다.
>     
> 
> 위 작업을 마친 후 남은 `arr`의 부분 배열을 return 하는 solution 함수를 완성해 주세요.

## Example

| arr | query | result |
| --- | --- | --- |
| \[0, 1, 2, 3, 4, 5\] | \[4, 1, 2\] | \[1, 2, 3\] |

| query의 값 | query 처리 전 | query 처리 후 | 비고 |
| --- | --- | --- | --- |
| 4 | \[0, 1, 2, 3, 4, 5\] | \[0, 1, 2, 3, 4\] | 0번 인덱스의 쿼리이므로 뒷부분을 자른다. |
| 1 | \[0, 1, 2, 3, 4\] | \[1, 2, 3, 4\] | 1번 인덱스의 쿼리이므로 앞부분을 자른다. |
| 2 | \[1, 2, 3, 4\] | \[1, 2, 3\] | 2번 인덱스의 쿼리이므로 뒷부분을 자른다. |

## Solution

```javascript
function solution(arr, query) {
    var answer = [...arr];
    for(let i=0; i<query.length; i++){
        if(i%2==0){
            answer=answer.slice(0,query[i]+1)
        }else if(i%2!=0){
            answer=answer.slice(query[i])
        }
    }
    return answer;
}
```

* `[...arr]` - The length of arr is not fixed
    
* You can put the result of `answer.slice()` again into `answer`
