본문 바로가기

Lv0. 빈 배열에 추가, 삭제하기.java

@곰부해2025. 6. 14. 03:03

문제 설명 

빈 배열 x가 있음. 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag[i]가 true라면 x의 뒤에 arr[i]를 arr[i] x 2번 추가하고,

flag[i]가 false라면 x에서 마지막 arr[i]개의 원소를 제거한 뒤 x를 return 하는 solution함수를 작성해주세요. 

 

import java.util.*;

class Solution {
    public int[] solution(int[] arr, boolean[] flag) {
        List<Integer> x =new ArrayList<>();
        
        for(int i=0; i<arr.length; i++){
            if(flag[i]){
                for(int j=0; j<arr[i]*2; j++){
                    x.add(arr[i]);
                }
            }
            else{
                for(int j=0; j<arr[i]; j++){
                    x.remove(x.size()-1);
                }
            }
        }
        
        int [] result = new int[x.size()];
        for(int i=0; i<x.size(); i++){
            result[i]=x.get(i);
        }
        return result;
        
    }
}

 

ArrayList는 동적배열이기 때문에 추가와 삭제가 쉽다. 

add(), get(),size(), remove() 기억하기 

목차