작성
·
106
0
정답 코드 중에서
while(p1<n) answer.push(arr1[p1++]);
while(p2<n) answer.push(arr2[p2++]);
대신
if (a < n) answer.push(...arr1.slice(a));
if (b < n) answer.push(...arr2.slice(b));
slice 활용해서 풀어도 괜찮을까요? (a는 p1이고, b는 p2입니다)
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
님의 질문에 답변드리겠습니다.
slice
메서드를 사용해서 나머지 배열 요소들을 answer
에 추가하는 것은 충분히 괜찮은 방법입니다. slice
메서드는 배열의 일부를 얕은 복사본으로 새로운 배열 객체로 반환하므로, 주어진 문제 상황에서 두 배열 arr1과 arr2 중 하나가 먼저 모든 요소들이 answer 배열에 추가된 후, 남은 배열의 요소들을 추가하는 경우에 사용할 수 있습니다.
주어진 코드에서 a(p1) 또는 b(p2) 인덱스가 n 보다 작을 경우, 각 배열의 a(p1), b(p2) 인덱스부터 끝까지 요소를 slice
로 잘라내어 answer
의 끝에 이어 붙이는 것이죠.
조건에 따라 push
와 slice
를 잘 조합하여 사용하면 보다 간결하고 이해하기 쉬운 코드를 작성할 수 있습니다.