Algorithm 공부자료/알고리즘 문제풀이
백준 #10828 스택 파이썬으로 구현하기
글른
2020. 3. 10. 01:52
문제 설명
기본 개념
'기본개념'을 클릭하면, stack 자료구조에 관한 간략한 개념을 알아볼 수 있다.
구현 아이디어
파이썬의 리스트가 기본적으로 stack 구조를 따른다.
sys.stdin.readline() 이 아닌 input() 함수를 이용 시, 시간 초과 에러가 뜬다.
입력받은 명령어에 따라서 if-elif 문을 이용하여 해당 명령을 처리한다.
파이썬에서 기본적으로 제공하는 append, pop, len 함수만으로 구현이 충분히 가능하다.
소스 코드
import sys
N = int(sys.stdin.readline())
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 not stack:
print('-1')
else:
print(stack[-1])
stack.pop()
elif cmd[0] == "size":
print(len(stack))
elif cmd[0] == "empty":
if not stack:
print(1)
else:
print(0)
elif cmd[0] == "top":
if not stack:
print(-1)
else:
print(stack[-1])