[Programmers] 배열 자르기 / copyOfRange 배열 복사

dlrmawn·2023년 12월 9일
0

Java

목록 보기
16/16

🔍 문제

정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.


📄 입출력 예


⚙️ 정답코드

import java.util.*;

class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
        int[] answer = new int[num2];
        
        answer = Arrays.copyOfRange(numbers, num1, num2 + 1);
        
        return answer;
    }
}

🤔 풀이

copyOfRange()를 이용하여 numbers의 num1 ~ num2 범위까지를 새 배열 answer에 복사해주었다.
to 범위는 -1이 되기에 num2까지 출력하기 위해 num2 + 1 을 해주어야한다.

제목이 배열 자르기라 자르고 붙일 생각을 했는데 출력할 부분이 배열 속에서 이어지니 복사를 통해 쉽게 구현할 수 있었다.



copyOfRange

배열의 일부분을 새로운 배열로 복사하는 데 사용되는 Java의 배열 복사 메소드

import java.util.Arrays;

public class CopyOfRangeExample {
    public static void main(String[] args) {
        int[] originalArray = {1, 2, 3, 4, 5};
        int[] newArray = Arrays.copyOfRange(originalArray, 1, 4);

        System.out.println(Arrays.toString(newArray));
    }
}

이를 실행하면 newArray는 [2, 3, 4]가 된다.

=> Arrays.copyOfRange 메소드는 original 배열에서 from 인덱스부터 to - 1 인덱스까지의 요소를 새로운 배열로 복사하여 반환하기 때문

profile
수정해야 할 내용 있으면 메일 부탁드립니다! ⍥

0개의 댓글