본문 바로가기

PROGRAMMING/JAVA

[JAVA] Array : Arrays.copyOfRange

알고리즘을 풀다보면 배열의 특정 지점을 잘라내야 하는 경우가 많다.

그럴 때 유용하게 쓸수있는 배열 function

import java.util.*;

public class Solution {
    public void solution(int[] array, int start, int end) {
        int[] arrayUsingFunction = Arrays.copyOfRange(array, start-1, end);
        
        //copyOfRange를 for loop로 구현
        int[] arrayUsingForLoop  = new int[end-start+1];
        int cnt = 0;
        for(int i = start-1; i < end; i++) {
            arrayUsingForLoop[cnt] = array[i];
            cnt++;
        }
        System.out.println("Original: " + Arrays.toString(array));
        System.out.println("Start Point: "+ start + " end Point: "+ end);
        System.out.println("Function: " + Arrays.toString(arrayUsingFunction));
        System.out.println("For Loop: " +Arrays.toString(arrayUsingForLoop));
    }
}

For문을 돌릴 필요 없이 자를 수 있는 아주 편한 함수

 

출력

결과가 같은 것을 확인할 수 있다.