배열 자르기(List->배열 변환 꼭 익히기!!, Arrays.copyOfRange)

Psj·2일 전
0

코딩테스트

목록 보기
30/30

내풀이

import java.util.*;

class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
        List<Integer> arr = new ArrayList<>();
        for(int i=num1; i<=num2; i++){
            arr.add(numbers[i]);
        }
        return arr.stream().mapToInt(n->n).toArray();
    }
}

다른사람풀이

import java.util.*;

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

copyOfRange

Java의 Arrays.copyOfRange() 메서드는 배열의 특정 범위를 복사하여 새로운 배열을 생성하는 메서드입니다.

Arrays.copyOfRange(원본배열, 시작인덱스, 끝인덱스);

🔹 매개변수 설명

  • 원본배열: 복사할 원본 배열
  • 시작인덱스: 복사를 시작할 인덱스 (포함)
  • 끝인덱스: 복사를 끝낼 인덱스 (포함되지 않음) → 즉, 끝인덱스 - 1까지 복사됨

예제

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] original = {10, 20, 30, 40, 50};

        // 1번 인덱스부터 3번 인덱스까지 복사 (3번은 포함되지 않음)
        int[] copy = Arrays.copyOfRange(original, 1, 3);

        System.out.println(Arrays.toString(copy)); // 출력: [20, 30]
    }
}
profile
Software Developer

0개의 댓글

관련 채용 정보