Coding Test

[프로그래머스 - removeIf()] 배열 조각하기

SouthernDuck 2023. 7. 13. 13:25
728x90

 

import java.util.*;

class Solution {
    public ArrayList<Integer> solution(int[] arr, int[] query) {
        
        // 정답 ArrayList 선언
        ArrayList<Integer> answer = new ArrayList<>();

	// arr을 answer에 저장
        for(int i : arr) {
            answer.add(i);
        }

        for(int i = 0; i < query.length; i++) {
            if(i % 2 == 0) { // 짝수 인덱스 처리
                for(int j = query[i]+1; j < answer.size(); j++) {
                    answer.set(j, -1); // 해당 요소는 -1로 변경
                }
                answer.removeIf(el -> el == -1); // -1만 제거
            } else { // 홀수 인덱스 처리
                for(int j = query[i]-1; j >= 0; j--) {
                    answer.set(j, -1);
                }              
                answer.removeIf(el -> el == -1);
            }
        }
      
        return answer;
    }
}
728x90
반응형