정수 배열 arr와 query가 주어지고 query를 순회하며 짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외한 뒷부분을 잘라 버리고, 홀수 인덱스에서는 arr에서 query[i] 인덱스 제외하고 앞부분을 잘라 버린 계산식을 구하여라
나의 풀이
function solution(arr, query) {
var i = 0;
var array = arr;
while (i < query.length) {
const a = query[i];
if (i % 2 === 0) {
arr = arr.slice(0, a + 1);
} else {
arr = arr.slice(a);
}
i++;
}
return arr;
}
변수 초기화
var i = 0 : 현재 쿼리 배열의 인덱스를 추적하는 변수 i 초기화
while
query의 각 요소를 반복 루프
현재 query 배열에서 요소를 가져와 변수 a에 할당한다
if 조건문
현재 인덱스 i가 짝수인지 홀수인지 확인
짝수인경우 배열 arr를 0부터 a + 1까지 잘라내어 수정
홀수인경우 배열 arr를 인덱스 a부터 끝까지 잘라내어 수정
i++ 루프 반복
다른 코드
function solution(arr, query) {
let start = 0;
let end = 0;
for(let i = 0; i < query.length; i++){
if(i%2===0){
end = start + query[i];
} else {
start += query[i];
}
}
return arr.slice(start, end).length ?
arr.slice(start, end) : [-1]
}