스택을 활용한 문제
스택은 LIFO 구조로 LAST IN FIRST OUT 에 해당한다.
push() : 새로운 값 입력
pop() :TOP 값을 리턴하면서 삭제
peek() : TOP 값을 리턴하지만 삭제는 하지 않음
size() : STACK의 크기 출력
empty() : 빈 스택인지 체크 (t/f 리턴)
contains(1) stack에 1이 있는지 체크 (t/f 리턴)
clear() : stack 전체 삭제
import java.util.*;
public class Solution {
public Stack solution(int []arr) {
Stack<Integer> st = new Stack<>();
for(int i=0; i<arr.length; i++){
if(st.empty())
st.push(arr[i]);
else{
if(st.peek()!=arr[i])
st.push(arr[i]);
}
}
return st;
}
}
반환형이 원래는 INT 형 배열이었지만 그냥 STACK으로 바꿔버려서 풀었다.