카테고리 없음

[프로그래머스] 배열 만들기 6 (Java, Python)

garamdev 2025. 8. 5. 14:11

문제

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

 

프로그래머스

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

programmers.co.kr

 

코드(Java)

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

class Solution {
    public int[] solution(int[] arr) {
        List<Integer> stk = new ArrayList<>();
		for (int num : arr) {
			if (!stk.isEmpty() && stk.get(stk.size() - 1) == num) {
				stk.remove(stk.size() - 1);
			} else {
				stk.add(num);
			}
		}
		if (stk.isEmpty()) {
			return new int[]{-1};
		}
		// Java 8 이상에서는 stream으로 변환 가능
        return stk.stream().mapToInt(Integer::intValue).toArray();
    }
}

 

코드(Python)

def solution(arr):
    stk = []
    for num in arr:
        if stk and stk[-1] == num:
            stk.pop()
        else:
            stk.append(num)
    return stk if stk else [-1]
728x90