연습장
52. 배열 조각하기 본문
Q. 정수 배열 arr와 query가 주어집니다.
query를 순회하면서 다음 작업을 반복합니다.
짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외하고 배열의 query[i]번 인덱스 뒷부분을 잘라서 버립니다.
홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query[i]번 인덱스 앞부분을 잘라서 버립니다.
위 작업을 마친 후 남은 arr의 부분 배열을 return 하는 solution 함수를 완성해 주세요.
생각보다 정답률이 낮은 문제
이유는 문제 해석이 중의적으로 되기 때문이다.
query[i] 의 홀 짝 이 아닌 i 자체의 홀 짝 을 판단해서 버릴지 말지 를 구하는 문제이다
올바른 해석은
arr[query[0]] 의 뒤를 버리고
arr[query[1]] 의 앞을 버리고
arr[query[2]] 의 뒤를 버리고
...
계속 반복된다.
splice 를 이용하면 원본 배열에 바로 갱신되므로 splice 를 이용하여 버려주었다.
slice 와 혼동하지 않도록 하자.
function solution(arr, query) {
for (let i = 0; i < query.length; i++) {
if (i % 2 == 0) {
arr.splice(query[i] + 1)
}
else {
arr.splice(0, query[i])
}
}
return arr
}
'프로그래머스 > 0단계' 카테고리의 다른 글
54. 조건에 맞게 수열 변환하기 2 (0) | 2023.07.10 |
---|---|
53. 왼쪽 오른쪽 (0) | 2023.07.10 |
51. 2의 영역 (1) | 2023.07.10 |
50. 리스트 자르기 (0) | 2023.07.10 |
49. 문자개수 세기 (0) | 2023.07.10 |