가이드라인

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

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

쉽게 말해 일상생활에서 책 더미에 책을 쌓고, 가장 위에 있는 책부터 꺼내는 것과 같은 원리입니다.

스택은 제한된 방식으로 데이터를 추가하거나 제거할 수 있는 자료구조로, 웹브라우저 방문 기록, 실행 취소(Undo) 등 프로그램의 다양한 곳에서 활용됩니다.


스택의 기본 연산

스택은 다음과 같은 주요 연산으로 구성됩니다.

  • Push: 스택의 맨 위에 새로운 요소를 추가하는 연산입니다.

  • Pop: 스택에서 가장 최근에 추가된 요소를 제거하고 그 값을 반환합니다.

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

  • IsEmpty: 스택이 비어 있는지를 확인합니다.


스택은 어떻게 구현할 수 있나요?

파이썬에서는 리스트(list)를 사용해 간단한 스택을 구현할 수 있습니다.

스택 사용 예시
# 스택 초기화 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 # 스택이 비어 있는지 확인 (IsEmpty) print(len(stack) == 0) # 출력: False

클래스(Class)를 활용해 보다 세밀하게 스택을 구현한 예제는 오른쪽 코드 에디터에서 확인할 수 있습니다.

Mission
0 / 1

스택(Stack)의 주요 특징으로 올바른 것은 무엇인가요?

첫 번째로 들어간 데이터가 가장 먼저 나오는 선입선출 방식이다.

데이터가 무작위로 추가되고 삭제되는 방식이다.

마지막에 들어간 데이터가 가장 먼저 나오는 후입선출 방식이다.

모든 데이터가 동시에 삭제되는 방식이다.

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

실행 결과