본문 바로가기
algorithm/Programmers

[JAVA] 배열 자르기

by 이쟝 2023. 1. 13.

1. 내가 푼 코드 Arrays의 copyOfRange 메서드를 사용했다.

import java.util.Arrays;

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

2-1. 기본 for문

import java.util.Arrays;

class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
        int length = num2 - num1;
        int[] answer = new int[length+1];
        for(int i=0;i<=length;i++) {
            answer[i] = numbers[num1+i];
        }
        return answer;
    }
}

2-2. 기본 for문

class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
        int[] answer = new int [num2-num1+1];
		
        int index = 0;
        for(int i = num1; i<=num2; i++) {
            answer[index] = numbers[i];
            index++;
        }
        return answer;
    }
}

answer의 배열은 num2-num1+1이 유지되어야 한다.  

2-1보다는 2-2가 조금 더 보기 쉬운 것 같긴 하다...

answer는 항상 0부터 시작해야 하고 numbers는 num1부터 시작..!

되면 copyOfRange( )메서드 사용하는게 간편한 것 같다..!