[Java] 스택 (Stack)
스택 (Stack) 스택 (Stack)이란? 스택 (Stack) 은 ` (깔끔하게 정돈하여) 쌓다` 라는 뜻으로, 물건 등을 쌓아 올리듯이 데이터를 쌓아 올려가는 자료 구조라고 할 수 있다. 스택은 그림과 같이 나중에 넣은 데이터가 먼저 나오게 되는 후입선출 (LIFO, Last In First Out) 구조를 가지고 있다. Push와 Pop 스택에 데이터를 추가하는 동작을 Push, 스택에서 데이터를 꺼내는 동작을 Pop이라고 한다. 자바에서는 java.util.Stack 클래스를 통해 스택을 제공하고 있다. stack.pop()은 스택의 마지막 데이터를 꺼내고 그 데이터를 반환해주며, stack.peek()은 스택의 마지막 데이터를 꺼내지 않고, 반환만 해준다. 알고리즘 문제에서 스택의 제일 마지막 ..