개발공부/코딩테스트 연습문제
[프로그래머스] 같은 숫자는 싫어
ku-na
2022. 1. 10. 14:48
문제 설명과 제한사항

풀이
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
Stack<Integer> tmp = new Stack<>();
for(int i = 0; i < arr.length; i++){
if(!tmp.isEmpty() && tmp.peek() == arr[i])
continue;
else tmp.push(arr[i]);
}
int[] answer = new int[tmp.size()];
for(int i = tmp.size()-1; i >= 0; i-- ){
answer[i] = tmp.pop();
}
return answer;
}
}
++
리스트로 풀 수 도 있지만 갑자기 스택이 생각나서 스택으로 풀었다.
리스트를 활용해서 풀려면 변수 선언을 하나 더 해야하는데 그게 싫었다.
그래서 연속 비교를 위해 마지막에 추가한 데이터를 알 수 있는 스택을 활용했다.
스택을 활용한 다른 사람의 코드가 없어서 뭔가 뿌듯하면서도 소외감 느꼈다.