T_era

[JAVA] 스택 : 같은 숫자는 싫어 본문

Programing/Programers

[JAVA] 스택 : 같은 숫자는 싫어

블스뜸 2025. 4. 14. 17:14

1. 문제 내용

요약 : 배열의 데이터가 연속적으로 나온다면 그 데이터를 하나로 줄이자

2. 내가 생각한 문제 접근방법
Stack의 최상위의 데이터와 비교하며 계속 push하면 간단하게 풀릴 것 같은 문제로 생각된다
[1,1,3,3]을 예를 들면
스택이 비어있으니 1push
겹치니 pass
최상위 와 다르니 3push
겹치니 pass
이 과정을 거치면 될 것 같다

3. 실제 구현 과정

일단 스택 변수를 선언하고

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


들어온 값을 비교하여 stack에 push하고 stack을 반환

for (Integer value : arr) {
	if (stack.isEmpty()) stack.push(value);
	else if (!stack.peek().equals(value)) stack.push(value);
}
return stack;

 

4. 결과
생각대로 문제가 풀렸다

전체코드

import java.util.*;

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

        for (Integer value : arr) {
            if (stack.isEmpty()) {
                stack.push(value);
            } else if (!stack.peek().equals(value)) {
                stack.push(value);
            }
        }
        return stack;
    }
}

'Programing > Programers' 카테고리의 다른 글

[JAVA] 스택 : 올바른 괄호  (1) 2025.04.14
[JAVA] 큐 : 기능개발  (0) 2025.04.14
[JAVA] 해시 : 베스트앨범  (1) 2025.04.14
[JAVA] 해시 : 의상  (0) 2025.04.14
[JAVA] 해시 : 전화번호 목록  (0) 2025.04.14