정수 배열 arr와 query가 주어집니다. query를 순회하면서 다음 작업을 반복합니다. 짝수 인덱스에서는 arr에서 query[i]번 인덱스를 제외하고 배열의 query[i]번 인덱스 뒷부분을 잘라서 버립니다. 홀수 인덱스에서는 arr에서 query[i]번 인덱스는 제외하고 배열의 query[i]번 인덱스 앞부분을 잘라서 버립니다. 위 작업을 마친 후 남은 arr의 부분 배열을 return 하는 solution 함수를 완성해 주세요.
import java.util.ArrayList;
import java.util.List;
class Solution {
    public int[] solution(int[] arr, int[] query) {
        List<Integer> list = new ArrayList<>();
        for (int i = 0; i < arr.length; i++) {
            list.add(arr[i]);
        }
        for (int i = 0; i < query.length; i++) {
            if(i%2==0 ||i==0 ){
                if(query[i]+1==list.size()-1){
                    list.remove(list.size()-1);
                }else if(query[i]+1==list.size()){
                    //뺄 수가 없을떄
                }
                else {
                    list.subList(query[i]+1, list.size()).clear();
                }
            }else if(i%2==1) {
                if(query[i]==1){
                    list.remove(0);
                }else if(query[i]==0){
                    //뺄수가 없을때;
                }
                else {
                    list.subList(0, query[i]).clear();
                }
            }
        }
        int[] answer = new int[list.size()];
        for (int i = 0; i < list.size() ; i++) {
            answer[i]=list.get(i);
        }
        return answer;
    }
}
와.... 너무 빡셌다.... clear() 대신 removeAll 를 계속 쓰다가 안됐었다....
결국 clear() 로 바꾸고 나니 문제가 해결돼었다.
removeAll 에 리스트를 넣을때 만약 list 에 그거랑 같은수가 있으면 싹다 지워지는 원리 땜에
오류가 자꾸났었다....
결국 clear 로 내가 원하는 부분만 지우게 해서 풀었다.