배열에서 연속으로 나오는 같은 숫자를 제거하라
배열arr이 주어질 때, 연속하여 나타나는 같은 숫자는 하나만 남기고 제거한 뒤 배열을 반환한다
input [1,1,3,3,0,1,1] -> output [1,3,0,1]
input [4,4,4,3,3,] -> output[4,3]
스택의 peek()와 현재 숫자를 비교한다. 같으면 넘어가고 다르면 push 한다
스택이 비어있거나 peek()와 현재값이 다르면 push 한다.
peek() 와 현재값이 같으면 넘어간다.
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
Stack<Integer> stack = new Stack<>();
for (int num : arr)
if (stack.isEmpty() || stack.peek() != num) {
stack.push(num);
}
}
return stack.stream()
.mapToInt(Integer::intValue)
.toArray();
}
}