T_era
[JAVA] 스택 : 같은 숫자는 싫어 본문
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 |