class Solution {
public int[] solution(int[] num_list, int n) {
// 새 배열의 크기를 계산합니다.
int[] answer = new int[num_list.length - n + 1];
// n-1부터 시작하여 num_list의 끝까지 반복하며 새 배열에 값을 할당합니다.
for(int i = n-1; i < num_list.length; i++){
answer[i - (n-1)] = num_list[i];
}
return answer;
}
}
// 출력배열의 크기 계산 : 배열의 총 길이가 'L'이고, 'n'번째 원소부터 원소들을 선택한다고
// 할 때, 선택된 원소의 수는 'L-n+1'이다, 1을 더하는 이유는 n번째 원소도 포함이 되기 때문이다
class Solution{
public int[] solution(int[] num_list, int n){
return Arrays.copyOfRange(num_list, n-1, num_list.length);
// Arrays.copyOfRange(T[] original, int form, int n);
// 원본 배열 'original'의 지정된 범우 '[from , to]'에 해당하는 요소들을 새로운 배열로 복사하여 반환
// 'from' 인덱스부터 시작하여 'to' 인덱스 바로 앞까지의 요소들을 포함한드는 의미
// (from은 포함되고, to는 포함되지 않음)
// original : 복사할 원본 배열
// from : 복사를 시작할 시작 인덱스
// to : 복사를 끝낼 인덱스
// 큰 배열에서 특정 부분만을 빠르게 복사해야 할 떄 유용하며, 코드를 간결하게 유지하면서도 명확하게 의도를 표현할 수 있다.
}
}