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

윤민선·2026년 5월 19일

프로그래머스

목록 보기
9/79

문제 설명

배열에서 연속으로 나오는 같은 숫자를 제거하라

배열arr이 주어질 때, 연속하여 나타나는 같은 숫자는 하나만 남기고 제거한 뒤 배열을 반환한다

input [1,1,3,3,0,1,1] -> output [1,3,0,1]

input [4,4,4,3,3,] -> output[4,3]

접근방법

스택의 peek()와 현재 숫자를 비교한다. 같으면 넘어가고 다르면 push 한다

스택이 비어있거나 peek()와 현재값이 다르면 push 한다.

peek() 와 현재값이 같으면 넘어간다.

전체코드


import java.util.*;

class Solution {
    public int[] solution(int[] arr) {
        Stack<Integer> stack = new Stack<>();

        for (int num : arr) 
            if (stack.isEmpty() || stack.peek() != num) {
                stack.push(num);
            }
        }
        return stack.stream()
                    .mapToInt(Integer::intValue)
                    .toArray();
    }
}
		

0개의 댓글