반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181893
문제 설명
정수 배열 arr와 query가 주어집니다.
query를 순회하면서 다음 작업을 반복합니다.
짝수 인덱스에서는 arr에서 query [i] 번 인덱스를 제외하고 배열의 query [i] 번 인덱스 뒷부분을 잘라서 버립니다.
홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query [i] 번 인덱스 앞부분을 잘라서 버립니다.
위 작업을 마친 후 남은 arr의 부분 배열을 return 하는 solution 함수를 완성해 주세요.
제한사항
5 ≤ arr의 길이 ≤ 100,000
0 ≤ arr의 원소 ≤ 100
1 ≤ query의 길이 < min(50, arr의 길이 / 2)
query의 각 원소는 0보다 크거나 같고 남아있는 arr의 길이 보다 작습니다.
해당 문제는 주어진 query배열의 값과 인덱스를 사용하여 배열을 자르는 문제이다.
query[i]의 인덱스 즉, i가 짝수이면 query [i]의 뒤를 자르고 홀수이면 query [i]의 앞을 자르면 되는 간단한 문제이다.
잘라서 버린다는 것은 원배열에서 필요한 부분만 남겨두면 된다는 말이다.
짝수일 경우에는 0~query [i] 부분을 남겨두면 되고
홀수일 경우에는 query[i]~끝부분까지 남겨두면 된다.
전체코드
import java.util.*;
class Solution {
public int[] solution(int[] arr, int[] query) {
int[] answer = arr.clone();
for(int i=0;i<query.length;i++ ){
if(i%2==0){
answer = Arrays.copyOfRange(answer,0,query[i]+1);
}else{
answer = Arrays.copyOfRange(answer,query[i],answer.length);
}
}
return answer;
}
}
728x90
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 조건에 맞게 수열 변환하기2 자바 java (0) | 2023.08.20 |
---|---|
[프로그래머스] 추억 점수 자바 java (0) | 2023.08.19 |
[프로그래머스] 2의 영역 자바 java (0) | 2023.08.17 |
[프로그래머스] 리스트 자르기 자바 java (0) | 2023.08.17 |
[프로그래머스] 문자열 뒤집기 자바 java (0) | 2023.08.15 |
댓글