스택 (Stack)
마지막에 넣은 것을 가장 먼저 꺼내는 후입선출(LIFO) 구조입니다. 한쪽 끝(top)에서만 삽입·삭제가 일어나며, 함수 호출 스택·실행 취소·괄호 검사·DFS의 뼈대가 됩니다.
01스택 (Stack)
알고리즘 작동 원리 탐색스택 시작. 한쪽 끝(top)에서만 넣고 빼는 후입선출(LIFO) 구조입니다.
push(10) · 10을 top 위에 올립니다.
push(24) · 24를 top 위에 올립니다.
push(37) · 37을 top 위에 올립니다.
peek() · top의 값 37을 꺼내지 않고 확인만 합니다.
pop() · top의 37을 제거 대상으로 표시합니다.
37을 꺼냈습니다. top이 24로 한 칸 내려옵니다.
pop() · 이번엔 top의 24를 제거 대상으로 표시합니다.
24를 꺼냈습니다. 마지막에 넣은 값부터 빠지는 LIFO를 확인했습니다.
02 쉽게 이해하기
For Everyone넣는 곳과 빼는 곳이 같은 한쪽 끝입니다. 그래서 마지막에 넣은 것이 가장 먼저 나옵니다.
한쪽 끝(top)에서만 넣고 뺍니다.
가장 마지막에 넣은 것이 가장 먼저 나와요(후입선출, LIFO).
- –실행 취소(Ctrl+Z)
- –브라우저 뒤로 가기
- –괄호 짝 검사
03 파이썬 구현 코드
스택 (Stack)의 핵심 로직을 담은 표준 구현 예시입니다. 가급적 간결하고 읽기 쉬운 코드로 작성되었습니다.
04 자주 묻는 질문
FAQ스택 (Stack)란 무엇인가요?+
마지막에 넣은 것을 가장 먼저 꺼내는 후입선출(LIFO) 구조입니다. 한쪽 끝(top)에서만 삽입·삭제가 일어나며, 함수 호출 스택·실행 취소·괄호 검사·DFS의 뼈대가 됩니다.
스택 (Stack)의 시간복잡도는 어떻게 되나요?+
스택 (Stack)의 시간복잡도는 O(1) push/pop 입니다. 시각화의 단계별 진행을 따라가며 왜 이런 복잡도가 나오는지 직접 확인할 수 있습니다.
스택 (Stack)은(는) 어디에 사용하나요?+
실행 취소(Ctrl+Z), 브라우저 뒤로 가기, 괄호 짝 검사.
스택 (Stack)를 쉽게 비유하면?+
넣는 곳과 빼는 곳이 같은 한쪽 끝입니다. 그래서 마지막에 넣은 것이 가장 먼저 나옵니다.
