[프로그래머스, 181859] 배열 만들기 6 (java)
Problem Solving/Programmers

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

728x90

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

 

프로그래머스

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

programmers.co.kr

728x90

메모리: 125 MB, 시간: 41.97 ms

사용 알고리즘: 구현

import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        
        // stk의 원소를 임시 저장할 List
        List<Integer> list = new ArrayList<>();
        
        for(int i = 0; i < arr.length; i++) {
            if(list.isEmpty()) {
                list.add(arr[i]);
            }
            else if(list.get(list.size() - 1) == arr[i]) {
                list.remove(list.size() - 1);
            }
            else {
                list.add(arr[i]);
            }
        }
        
        // List -> 배열
        if(list.isEmpty()) return new int[] {-1};
        int[] stk = new int[list.size()];
        for(int i = 0; i < stk.length; i++)
            stk[i] = list.get(i);
        return stk;
    }
}
728x90