별의 공부 블로그 🧑🏻‍💻

🗒️ 스택 (4)

728x90
  1. 2022.05.30 [Python] 괄호 매칭 검사 프로그램

    괄호 매칭 검사 프로그램 들어가며 스택을 활용하여 간단하게 괄호의 매칭 검사를 수행할 수 있다. 여는 괄호를 만나면 push 하고, 닫는 괄호를 만나면 pop 한다 는 규칙을 적용한 후, push 또는 pop 하는 과정에서 다음의 조건을 확인하면 된다. ① 닫는 괄호를 만났을 때 스택은 비어 있지 않아야 한다. ② 닫는 괄호를 만났을 때 추출한 괄호는 여는 괄호여야 한다. ③ ②를 만족해도 두 괄호의 종류(소괄호, 중괄호, 대괄호)가 같아야 한다. ④ 모든 수식의 처리가 끝나면 스택은 비어 있어야 한다. 열린 괄호라면 무조건 push 한다. 닫는 괄호일 때는 스택에서 하나를 꺼내서 현재 괄호와 짝이 맞는지 확인한다. if '(', '[', '{', '' 중 하나면 열린 괄호 pop() if 두 괄호의 쌍..

  2. 2022.05.30 [Python] 스택(Stack)

    스택(Stack) 스택(Stack) 선입후출(First In Last Out, FILO) 또는 후입선출(Last In First Out, LIFO)의 특징을 갖는 자료구조 스택은 한쪽만 뚫려 있는 구조이기 때문에 삽입과 추출이 한쪽에서만 진행된다. 스택에 데이터를 삽입하는 동작을 push(푸시)라고 하며, 데이터를 추출하는 동작을 pop(팝)이라고 한다. 스택에서는 top(톱)이라는 용어가 중요한데, 현재 스택에 들어 있는 가장 위의 데이터 위치를 가리키는 개념이다. 스택의 간단 구현 스택은 배열 형태로 구현할 수 있다. 스택은 초기에 크기를 지정하고 배열로 생성할 수 있다. 스택의 맨 위쪽을 표현하는 top은 아직 데이터가 없으므로 -1로 초기화한다. top이 -1이라는 것은 스택이 비었다는 의미로 해..

  3. 2021.03.13 프로그램의 메모리 영역

    프로그램의 메모리 영역 코드 영역 (Code) 데이터 영역 (Data) 힙 (Heap) ↓ 스택 영역 (Stack)) ↑ 프로그램이 사용되는 메모리 영역 ① 코드(Code) 영역 명령어가 들어가는 영역 ② 데이터(Data) 영역 프로그램이 컴파일되면 정적 변수 나 문자열 등이 들어가는 정적 메모리 영역 정해져 있어서 실행 중에 오류가 발생할 가능성이 적음. JVM 에서는 이 영역을 메서드 정적 영역(Method Static Area) 으로도 부름. ③ 힙(Heap) 영역 실행 중 생성되는 객체 가 만들어지는 동적 메모리 영역 프로그램이 동작하는 도중에 위쪽 그림의 화살표 방향으로 채워짐. (↓) 너무 많이 메모리를 할당하는 객체가 있을 경우 Out of Memory 오류가 발생할 수 있음. 함수 호출이 ..

  4. 2017.05.11 [C] 스택(Stack)

    스택(Stack) - 제일 먼저 입력된 데이터가 맨 아래에 쌓이고 가장 최근에 입력된 데이터가 가장 위에 쌓이는 구조. (후입 선출(LIFO: Last-In-First-Out) - 스택에서 입출력이 이루어지는 부분을 스택 상단(stack top)이라 하고, 반대쪽인 바닥 부분을 스택 하단(stack bottom)이라고 함. - 스택에 저장되는 것을 요소(element)라고 함. - 스택에 요소가 하나도 없을 때 스택을 공백 스택(empty stack)이라고 함. - 삽입 연산을 push 연산이라고 하고, 삭제 연산은 pop 연산이라고 함. - is_empty 연산과 is_full 연산은 스택이 공백 상태에 있는지와 포화 상태에 있는지를 검사함. - create 연산은 스택을 생성함. - peek 연산은 ..

728x90


📖 Contents 📖