반응형
코드 작성
import sys
input = sys.stdin.readline
n = int(input())
stack = []
for _ in range(n):
cmd = list(input().split())
if cmd[0]=='push':
stack.append(cmd[1])
elif cmd[0]=='pop':
if len(stack)==0:
print(-1)
else:
print(stack.pop(0))
elif cmd[0]=='empty':
if len(stack)==0:
print(1)
else:
print(0)
elif cmd[0]=='size':
print(len(stack))
elif cmd[0]=='front':
if len(stack)==0:
print(-1)
else:
print(stack[0])
elif cmd[0]=='back':
if len(stack)==0:
print(-1)
else:
print(stack[-1])
코드 풀이
#1
command의 약자 cmd를 리스트 2개로 입력받아 첫번째는 명령어, 두번째는 입력할 값으로 정해주었다. push의 경우 두번째 입력값 cmd[1]이 스택에 쌓일 수 있도록 한다.
#2
pop을 사용할 때 가장 앞에 있는 정수를 뽑아내고자 할 때에는 pop(0)으로 구현해야 한다. pop()으로 하면 가장 뒤의 수가 출력 된다.
#3
가장 앞의 정수를 출력하는 것은 print(stack[0]), 가장 뒤의 수를 출력하는 것은 print(stack[-1])로 표현 가능
반응형