문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/181893
제한 사항
입출력 예
풀이
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int[] query) {
int[] result = new int[] { 0, arr.length - 1 };
for (int i = 0; i < query.length; i++) {
int length = result[1] - result[0];
if (i % 2 == 0) result[1] -= (length - query[i]);
else result[0] += query[i];
}
return Arrays.copyOfRange(arr, result[0], result[1] + 1);
}
}
후기
생각을 천천히 해보면 어렵지 않게 풀 수 있다. 포인트는 매번 배열을 복사하지 않고 앞과 뒤의 인덱스만 조절해서 마지막에 배열을 복사한다는 것이다.
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
[프로그래머스][JAVA][Lv. 2] 뉴스 클러스터링 (0) | 2023.09.14 |
---|---|
[프로그래머스][JAVA][Lv. 2] 프로세스 (0) | 2023.09.12 |
[프로그래머스][JAVA][Lv. 2] 기능 개발 (0) | 2023.09.08 |
[프로그래머스][JAVA][Lv. 2] 괄호 회전하기 (0) | 2023.09.07 |
[프로그래머스][JAVA][Lv. 2] 튜플 (0) | 2023.09.06 |