🫡 문제
프로그래머스 - 같은 숫자는 싫어
🫡 코드
import java.util.*;
public class Solution {
public int[] solution(int []arr) {
Stack<Integer> stack = new Stack<>();
stack.push(arr[0]);
for(int i=0; i<arr.length; i++){
if(stack.peek()!=arr[i]){
stack.push(arr[i]);
}
}
int[] answer = new int[stack.size()];
for(int i=0; i<stack.size(); i++){
answer[i] = stack.get(i);
}
return answer;
}
}
🫡 풀이
stack
- peek(), push()
- stack에
push
해준 값과 배열 arr에 들어있는 값이 같지 않을 경우에만 push
- get()
- stack에 연속적으로 나타나는 숫자를 제거하고
남은 수가 들어있는 값들을 get
을 사용하여 배열 answer에 저장