스택 기본 구조 활용
알고리즘: Stack
import sys
n = int(sys.stdin.readline())
stack = [] # stack list 생성
for i in range(n):
cmd = sys.stdin.readline().split()
if cmd[0] == 'push':
stack.append(int(cmd[1])) # 앞부터 순서대로 채움
elif cmd[0] == 'pop':
if len(stack) == 0:
print(-1)
else:
print(stack.pop()) # 뒤부터 제거
elif cmd[0] == 'size':
print(len(stack))
elif cmd[0] == 'empty':
if len(stack) == 0:
print("1")
else:
print("0")
elif cmd[0] == 'top':
if len(stack) == 0:
print("-1")
else:
print(stack[-1])
이번 문제는 스택 자료구조를 다루는 기본 문제였다
스택 자료구조에 관한 자세한 내용과 구현(in c)은 아래 포스트에서 확인!!
🍰 Array Stack 🍉 Linked Stack
스택의 특성인 LIFO구조를 알고 있다면 쉽게 풀 수 있는 문제였다!
"push" in cmd
이런 식으로 비교 문자열 내에 같은 문자열이 있는지도 확인 할 수 있다