[algorithm] n번째 원소부터

인철·2024년 2월 25일
0

algorithm

목록 보기
63/91
post-thumbnail

정수 리스트 num_list와 정수 n이 주어질 때, n 번째 원소부터 마지막 원소까지의 모든 원소를 담은 리스트를 return하도록 solution 함수를 완성해주세요.

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 : 복사를 끝낼 인덱스
        
        // 큰 배열에서 특정 부분만을 빠르게 복사해야 할 떄 유용하며, 코드를 간결하게 유지하면서도 명확하게 의도를 표현할 수 있다.
    }
}
profile
같은글이있어도양해부탁드려요(킁킁)

0개의 댓글