

TECH.KAKAO.GG
프로그래머스 배열 조각하기
Algorithm13일 전
정수 배열 arr
와 query
가 주어집니다.
query
를 순회하면서 다음 작업을 반복합니다.
- 짝수 인덱스에서는
arr
에서query[i]
번 인덱스를 제외하고 배열의query[i]
번 인덱스 뒷부분을 잘라서 버립니다. - 홀수 인덱스에서는
arr
에서query[i]
번 인덱스는 제외하고 배열의query[i]
번 인덱스 앞부분을 잘라서 버립니다.
위 작업을 마친 후 남은 arr
의 부분 배열을 return 하는 solution 함수를 완성해 주세요.
function solution(arr, query) {
for (let i = 0; i < query.length; i++) {
if (i % 2 === 0) {
arr = arr.slice(0, query[i] + 1);
} else {
arr = arr.slice(query[i]);
}
}
return arr;
}
for (let i = 0; i < query.length; i++)
:query
배열을 순회합니다. 여기서i
는query
의 현재 인덱스입니다.if (i % 2 === 0)
:query
의 현재 인덱스i
가 짝수일 경우 (0, 2, 4, ...).arr = arr.slice(0, query[i] + 1);
:arr
배열을0
번 인덱스부터query[i]
번 인덱스까지 (exclusive ofquery[i] + 1
) 자릅니다. 이렇게 하면query[i]
번 인덱스 이후의 모든 요소가 버려집니다.
else
:query
의 현재 인덱스i
가 홀수일 경우 (1, 3, 5, ...).arr = arr.slice(query[i]);
:arr
배열을query[i]
번 인덱스부터 마지막까지 자릅니다. 이렇게 하면query[i]
번 인덱스 이전의 모든 요소가 버려집니다.
return arr;
: 모든 작업을 마친 후 최종적으로 남은arr
의 부분 배열을 반환합니다
키워드
배열 슬라이싱Array Slice배열 조작