스택(Stack)
스택이란 데이터 구조 중 하나로 가장 나중에 추가된 요소가 가장 먼저 제거가 되는 구조입니다.

주요 연산
| 연산 | 설명 | 자바 메서드 |
|---|
| Push | 스택의 맨 위에 데이터를 추가합니다. | push(E e) |
| Pop | 스택의 맨 위에 있는 데이터를 제거하고 반환합니다. | pop() |
| Peek/Top | 스택의 맨 위에 있는 데이터를 제거하지 않고 반환합니다. | peek() |
| IsEmpty | 스택이 비어 있는지 확인합니다. | isEmpty() |
| Size | 스택에 있는 데이터의 수를 반환합니다. | size() |
특성
- LIFO (Last In, First Out): 스택의 가장 큰 특징은 후입선출 방식이라는 점입니다.
- 제한된 접근: 스택은 맨 위 요소에만 접근할 수 있습니다. 다른 요소에 접근하기 위해서는 맨 위 요소를 제거해야 합니다.
스택 사용 사례
- 재귀적 함수 호출: 함수 호출을 관리하는 시스템 스택은 함수가 끝날 때까지 호출된 순서대로 스택에 저장합니다.
- 문자열 역순 변환: 문자열을 거꾸로 출력할 때 스택을 사용하면 유용합니다.
- 괄호 검사: 코드에서 괄호가 올바르게 열리고 닫히는지 확인할 때 스택을 사용합니다.
- 탐색 알고리즘: DFS(깊이 우선 탐색) 같은 알고리즘에서 스택을 사용합니다.
괄호 검사
