python stack (2) 썸네일형 리스트형 Stack #2 서론 이전에 정리했던 Stack의 구조와 동작 방식을 이해하고, 문제를 풀며 이를 응용해 본다. 본론 Q1 스택에 push 되는 값들이 오름차 수열이 되는지를 판단해, 불가하면 'NO'를 가능하다면 작업의 순서를 push는 '+'로 pop은 '-'로 출력하도록 하면 된다. Q1_Python Stack class Stack2(): class Empty(Exception): pass def __init__(self): self.stk = [] def is_empty(self) -> bool: return not self.stk def push(self, val): self.stk.append(val) def pop(self): if self.is_empty(): raise Stack2.Empty return.. Stack #1 Stack 구조 Stack은 기본적으로 위와 같이 출구와 입구가 하나인 구덩이의 모습을 한다. 폰 스택(phone stack) 놀이와 같이 바닥에 깔려 있는 내 전화에서 벨이 울린다고 위에 있는 다른 전화를 건들지 않고 내 것만 쏙 빼서 확인할 수 없다. Stack도 마찬가지이다. 가령 index 4에 접근하기 위해서는 7, 6, 5를 순서대로 접근한 후에야 4에 접근할 수 있다. 이러한 특징 때문에 Stack을 LIFO(Last In First Out/후입 선출) 구조라고 정의하기도 한다. Pointer Stack에 현재 저장돼 있는 데이터의 수를 나타낸다. 고정길이 스택의 경우 Pointer 이전 1 다음