[프로그래머스] 배열 조각하기

JOY·2023년 7월 4일
0

[CodingTest] Java

목록 보기
46/61
post-thumbnail

🫡 문제

프로그래머스 - 배열 조각하기

🫡 코드

import java.util.*;

class Solution {
    public int[] solution(int[] arr, int[] query) {        
        for(int i=0; i<query.length; i++){
            
            if(i % 2 == 0){
                arr = Arrays.copyOfRange(arr, 0, query[i]+1);
            } else{
              arr = Arrays.copyOfRange(arr, query[i], arr.length);  
            }
        }
        
        return arr;
    }
}

🫡 풀이

해당 문제는 동일한 배열을 계속 사용하면서 자르고 저장하는 행위를 반복해야한다.
처음에는 answer 라는 배열이 주어져서 0부터 해당 인덱스까지 반복해서 저장해주는
코드를 작성했으나 런타임 에러 가 발생해서 다른 방법을 찾기로 했다

배열의 일부분을 복사하여 새로운 배열을 만드는 메소드 함수
Arrays.copyOfRange() 를 사용하였다

Arrays.copyOfRange(복사할 원본 배열, 복사할 시작 인덱스, 복사할 종료 인덱스+1)
💡 복사할 종료 인덱스+1을 해주는 이유는 해당 인덱스 이전까지만 복사해주기 때문!

  1. 짝수의 경우
    0부터 query[i]+1 까지

  2. 홀수의 경우
    query[i]부터 배열의 마지막 인덱스까지(배열.length)

profile
Just Do IT ------- 🏃‍♀️

0개의 댓글

관련 채용 정보