코딩테스트 풀이/JAVA
[프로그래머스/Lv.0] 배열 조각하기
무지맘
2023. 5. 3. 23:39
1. Input, Output, Example
query를 순회하면서 다음 작업을 반복한다.
// 짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외하고 배열의 query[i]번 인덱스 뒷부분을 잘라서 버린다.
// 홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query[i]번 인덱스 앞부분을 잘라서 버린다.
- 위 작업을 마친 후 남은 arr의 부분 배열을 반환
2. Constraint
1) 5 ≤ arr의 길이 ≤ 100,000
2) 0 ≤ arr의 원소 ≤ 100
3) 1 ≤ query의 길이 < min(50, arr의 길이 / 2)
4) query의 각 원소는 0보다 크거나 같고 남아있는 arr의 길이 보다 작다.
3. Code
1) 첫 코드(2023/05/03)
import java.util.*;
class Solution {
public int[] solution(int[] arr, int[] query) {
int len = arr.length;
for(int i=0 ; i<query.length ; i++){
if(i%2==0){
len = query[i]+1;
System.arraycopy(arr, 0, arr, 0, len);
}else{
len -= query[i];
System.arraycopy(arr, query[i], arr, 0, len);
}
}
return Arrays.copyOfRange(arr, 0, len);
}
}