본문으로 건너뛰기

마지막에 들어간 데이터가 가장 먼저 나오는 '스택(Stack)'

마지막에 들어간 데이터가 가장 먼저 나오는 스택(Stack)

스택은 마지막에 들어간 요소가 가장 먼저 나오는 '후입선출'(Last In First Out, LIFO) 방식의 자료구조입니다.

일상 생활에서 책 더미에 책을 올리고, 책을 꺼낼 때는 가장 위에 있는 책을 꺼내는 것과 같은 방식입니다.

스택은 웹브라우저 방문 기록, 함수의 실행 컨텍스트(변수, 매개변수, 반환 주소 등) 관리 등으로 활용됩니다.


스택의 기본 연산

  • Push: 스택에 요소(Element)를 추가하는 연산입니다.

  • Pop: 스택에서 마지막으로 추가된 요소를 제거하고 제거한 값을 반환합니다.

  • Peek/Top: 스택의 최상단 요소를 반환하지만 제거하지는 않습니다.

  • IsEmpty: 스택이 비어있는지 확인하는 연산입니다.


스택 구현 예시

파이썬에서 스택을 사용하는 간단한 예시는 다음과 같습니다:

스택 사용 예시
stack = []

# 스택에 요소 추가 (Push)
stack.append(1)
stack.append(2)
stack.append(3)

# 스택의 최상단 요소 확인 (Peek)
print(stack[-1]) # 3 출력

# 스택에서 최상단 요소 제거 (Pop)
print(stack.pop()) # 3 출력
print(stack.pop()) # 2 출력