정수 리스트 num_list
와 정수 n이 주어질 때, n
번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return
하도록 solution
함수를 완성하는 문제이다.
function solution(num_list, n) {
let answer = [];
for(let i = n-1; i < num_list.length; i++) {
answer.push(num_list[i]);
}
return answer;
}
const solution = (num_list, n) => num_list.slice(n - 1);
slice
메서드를 사용하여 짧은 코드로 원하는 부분의 배열을 쉽게 추출할 수 있으며, 가독성이 높고 유지보수에 용이하다.slice
메서드는 배열의 특정 부분을 새로운 배열로 반환한다.
이 때, 첫번째 인자는 시작 인덱스
를, 두 번째 인자를 종료 인덱스
를 나타낸다.
종료 인덱스에 해당하는 요소는 반환되는 배열에 포함되지 않는다.
const arr = [0, 1, 2, 3, 4, 5];
// 0번 인덱스부터 시작해서 1번 인덱스 전까지, 즉 첫 번째 요소만 포함하는 새 배열을 반환
arr.slice(0, 1); // [ 0 ]
// 0번 인덱스부터 시작해서 2번 인덱스 전까지, 즉 첫 두 요소 [0, 1]를 반환
arr.slice(0, 2); // [ 0, 1 ]
arr.slice(0, 3); // [ 0, 1, 2 ]
arr.slice(0, 4); // [ 0, 1, 2, 3 ]
arr.slice(0, 5); // [ 0, 1, 2, 3, 4 ]
arr.slice(0, 6); // [ 0, 1, 2, 3, 4, 5 ]
// 배열의 전체를 반환
arr.slice(0);
// 배열의 끝에서부터 6개의 요소를 포함하여 전체를 반환
arr.slice(-6);
// 1번 인덱스부터 시작하여 배열의 나머지 [1, 2, 3, 4, 5]를 반환
arr.slice(1);
// 배열의 끝에서부터 5개의 요소를 포함하여 [1, 2, 3, 4, 5]를 반환
arr.slice(-5);
// [ 2, 3, 4, 5 ]
arr.slice(2);
arr.slice(-4);
// [ 3, 4, 5 ]
arr.slice(3);
arr.slice(-3);
// [ 4, 5 ]
arr.slice(4);
arr.slice(-2);
// [ 5 ]
arr.slice(5);
arr.slice(-1);