본문/내용
1. 스택
스택은 후입선출(LIFO, Last In First Out) 구조를 따르는 데이터 구조로, 나중에 추가된 데이터가 먼저 제거되는 방식이다. 스택의 기본적인 작동 원리는 두 가지 주요 연산인 푸시(push)와 팝(pop)으로 구성된다. 푸시는 스택의 맨 위에 새로운 데이터를 추가하는 연산이고, 팝은 스택의 맨 위에 있는 데이터를 제거하고 반환하는 연산이다. 이러한 동작 방식 덕분에 스택은 특정한 상황에서 유용하게 사용된다. 스택은 일상적인 컴퓨터 프로그램의 많은 부분에서 필수적인 역할을 한다. 예를 들어, 함수 호출 시 함수의 매개변수, 지역 변수 및 실행 위치를 저장하기 위해 스택이 사용된다. 이렇게 호출된 함수는 내부에서 또 다른 함수를 호출할 수 있으며, 이 과정이 반복되면서 각 함수 호출에 대한 정보를 스택에 쌓게 된다. 함수가 실행을 마치고 반환할 때, 이 정보는 스택에서 팝되어 원래 함수로 돌아가는 데 필요한 정보를 제공한다. 이러한 스택 기반의 실행 흐름은 컴퓨터가 복잡한 함수를 처리할 수 있도록 해 주며, 호출된 함수가 복수 개일 경우에도 각 함수의 상태를 정확히 추적하는 데 큰 도움이 된다. 그 외에도 스택은 Undo 기능 구현에 유…