문제
https://school.programmers.co.kr/learn/courses/30/lessons/12906
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
< 같은 숫자는 싫어 >
문제 풀이 (Java)
import java.util.*;
public class Solution {
public int[] solution(int[] arr) {
Stack<Integer> stack = new Stack<>();
for (int i = 0; i < arr.length; i++) {
if (stack.isEmpty() || stack.peek() != arr[i]) {
stack.add(arr[i]);
}
}
int[] answer = new int[stack.size()];
for (int i = answer.length - 1; i >= 0; i--) {
answer[i] = stack.pop();
}
return answer;
}
}
arr을 순회하며 stack이 비어있거나 peek 값과 같지 않다면 stack에 추가한다. 최종 stack에 있는 값들을 pop하여 answer 배열의 뒤에서부터 저장한 후 answer을 반환한다.

출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] K번째수 (0) | 2026.07.31 |
|---|---|
| [programmers] 완주하지 못한 선수 (0) | 2026.07.30 |
| [programmers] 디스크 컨트롤러 (0) | 2026.07.29 |
| [programmers] 이중우선순위큐 (0) | 2026.07.27 |
| [programmers] 베스트앨범 (0) | 2026.07.24 |