카테고리 없음

[프로그래머스] 빈 배열에 추가, 삭제하기 (Java, Python)

garamdev 2025. 6. 2. 15:37

문제

https://school.programmers.co.kr/learn/courses/30/lessons/181860

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

코드(Java)

import java.util.ArrayList;
import java.util.List;

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]) {
                int num = arr[i];
                for (int j = 0; j < num * 2; j++) {
                    X.add(num);
                }
            } else {
                int num = arr[i];
                int size = X.size();
                if (size >= num) {
                    for (int j = 0; j < num; j++) {
                        X.remove(size - 1- j);
                    }
                }
            }
        }
        
        int[] answer = new int[X.size()];
        for (int i = 0; i < X.size(); i++) {
            answer[i] = X.get(i);
        }
        
        return answer;
    }
}

 

코드(Python)

def solution(arr, flag):
    answer = []
    for i in range(len(arr)):
        if flag[i]:
            answer += [arr[i]] * (arr[i] * 2)
        else:
            answer = answer[:-arr[i]]
    return answer
728x90