빈 배열에 추가, 삭제하기 Lv. 0

박영준·2023년 6월 9일
0

코딩테스트

목록 보기
239/300
class Solution {
    public int[] solution(int[] arr, boolean[] flag) {
        int[] answer = {};
        return answer;
    }
}

해결법

방법 1

import java.util.ArrayList;

class Solution {

    public int[] solution(int[] arr, boolean[] flag) {

        ArrayList<Integer> list = new ArrayList<>();
        
        for (int i = 0; i < arr.length; i++) {
            if (flag[i]) {
                for (int j = 0; j < arr[i] * 2; j++) {
                    list.add(arr[i]);
                }
            } else {
                for (int j = 0; j < arr[i]; j++) {
                    list.remove(list.size() - 1);
                }
            }
        }

        int[] answer = new int[list.size()];

        for (int i = 0; i < list.size(); i++) {
            answer[i] = list.get(i);
        }
        
        return answer;
    }
}
  • 규칙

    • flag[i] = true --> X의 뒤 + arr[i] × 2 번 추가
    • flag[i] = false --> X에서 마지막 arr[i]개의 원소를 제거 --> X를 return
  • ArrayList

    참고: 5명씩 Lv. 0
    참고: 배열, ArrayList

  • for문으로 규칙만큼 생성/제거해준다.


빈 배열에 추가, 삭제하기 Lv. 0

profile
개발자로 거듭나기!

0개의 댓글