코딩테스트/Programmers

[프로그래머스] 같은 숫자는 싫어

grove1212 2025. 2. 25. 18:19

1. 내 풀이

쌩으로 구현했다.

import java.util.*;

public class Solution {
    public ArrayList<Integer> solution(int []arr) {
        ArrayList<Integer> answer = new ArrayList<>();
        
        int insertIdx = 0;
        for(int i = 0; i<arr.length; i++){
            if(insertIdx != 0 && answer.get(insertIdx-1) == arr[i]) continue;
            answer.add(arr[i]);
            insertIdx++;
        }
        

        return answer;
    }
}

 

 

 

2. 다른 분 풀이

문제의 의도대로 stack을 이용해서 푼 모습을 볼 수 있다.

import java.util.*;

public class Solution {
    public Stack<Integer> solution(int []arr) {

        Stack<Integer> stack = new Stack<>();

        for(int num : arr){
            if(stack.size() == 0 || stack.peek() != num){
                stack.push(num);
            }
        }



        return stack;
    }
}