Stack을 통해 중복값 제거.
import java.util.*;
public class Solution {
public Stack<Integer> solution(int []arr) {
Stack<Integer> stack = new Stack<>();
for(int num : arr) {
if(stack.size() == 0 || stack.peek() != num) {
stack.push(num);
}
}
return stack;
}
}
Stack<Integer>로 변경했다.Stack<Integer>에서 int[]로 변경하는 코드가 불필요하게 증가해 변경하는 편이 효율적이어 보였다.Stack의 가장 위의 값을 비교하기위해, Stack이 비어있는 경우가 문제가 되었다.
java.util.Stack 클래스로 구현되어 있음.push(E item): 스택의 맨 위에 데이터를 추가pop(): 스택의 맨 위 데이터를 꺼내고 제거peek(): 스택의 맨 위 데이터를 조회만 하고 제거하지 않음.empty(): 스택이 비어있는지 확인search(Object o): 스택에서 특정 객체의 위치(index)를 찾음