프로그래머스 같은 숫자는 싫어 JAVA 풀이 (스택, 구현, 시간복잡도)

2026. 5. 16. 23:34·코테(Solved.ac + Programmers)
728x90

🔗 문제 링크

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


📌 문제 개요

배열에서 연속으로 등장하는 같은 숫자를 제거하는 문제이다.

단순 중복 제거가 아니라 처럼 연속된 숫자만 제거해야 한다.

[1,1,3,3,0,1,1]
→ [1,3,0,1]

📌 접근 방법

현재 숫자와 직전에 저장된 숫자를 비교

직전 숫자와 같다면 추가하지 않고, 다르면 Stack에 저장하는 방식으로 해결


📌 핵심 아이디어

핵심은 마지막으로 저장된 값만 비교하면 된다는 점

stack.peek()

Stack의 가장 위(마지막 값)를 조회할 수 있다.

현재 숫자와 마지막 값이 다를 때만 push 하면 연속 중복 제거가 가능하다.


📌 전체 코드

package level1;

import java.util.Stack;

public class No32 {
    public static void main(String[] args) {
        int[] arr = {4,4,4,3,3};
        Stack<Integer> stack = new Stack<>();

        for(int num : arr){

            // 스택이 비어있거나 마지막 값과 다를 때만 저장
            if(stack.size() == 0 || stack.peek() != num){
                stack.push(num);
            }
        }

        System.out.println(stack.toString());
    }
}

📄 정리

이 문제는 전체 중복 제거가 아니라 연속 중복 제거라는 점이 중요했다.

따라서 현재 값과 이전 값만 비교하면 해결 가능하며, Stack의 peek()를 사용하면 쉽게 구현할 수 있다.

728x90

'코테(Solved.ac + Programmers)' 카테고리의 다른 글

프로그래머스 최대공약수와 최소공배수 JAVA 풀이 (유클리드호제법, 시간복잡도)  (0) 2026.05.18
프로그래머스 크기가 작은 부분문자열 JAVA 풀이 (문자열, substring, 시간복잡도)  (0) 2026.05.17
프로그래머스 행렬의 덧셈 JAVA 풀이 (2차원배열, 구현)  (0) 2026.05.14
프로그래머스 문자열 다루기 기본 JAVA 풀이 (문자열, 구현)  (0) 2026.05.14
프로그래머스 문자열 내림차순으로 배치하기 JAVA 풀이 (문자열)  (0) 2026.05.13
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • 프로그래머스 최대공약수와 최소공배수 JAVA 풀이 (유클리드호제법, 시간복잡도)
  • 프로그래머스 크기가 작은 부분문자열 JAVA 풀이 (문자열, substring, 시간복잡도)
  • 프로그래머스 행렬의 덧셈 JAVA 풀이 (2차원배열, 구현)
  • 프로그래머스 문자열 다루기 기본 JAVA 풀이 (문자열, 구현)
PUSH → MERGE → DEPLOY
PUSH → MERGE → DEPLOY
데이터 흐름과 운영 자동화를 설계하는 백엔드 개발자
  • PUSH → MERGE → DEPLOY
    Coding Dongin
    PUSH → MERGE → DEPLOY
  • 전체
    오늘
    어제
    • MEUN
      • 코테(Solved.ac + Programmers)
      • BootCamp(JAVA)
      • JAVA
      • SpringBoot
      • JavaScript
      • JSP
      • DB(SQL)
      • React
      • HTML_CSS
      • jQuery
      • SCSS
      • GSAP
      • 설치 + 꿀팁
      • 정보처리기사 오답노트
      • 정보처리기사 기출문제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GIT
  • 공지사항

  • 인기 글

  • 태그

    정처기오답노트
    Level2
    프로그래머스
    시뮬레이션
    정보처리기사 실기 기출문제
    백준
    springboot
    브루트포스
    java
    알고리즘
    정처기
    level0
    정처기실기
    정보처리기사
    실기
    백엔드개발자
    level1
    코딩테스트
    배열
    dp
    solved.ac
    정렬
    완전탐색
    피보나치
    기출문제
    구현
    자료구조
    문자열
    자바
    수학
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
프로그래머스 같은 숫자는 싫어 JAVA 풀이 (스택, 구현, 시간복잡도)
상단으로

티스토리툴바