https://www.acmicpc.net/problem/15815
스택
숫자는 큐로, 연산자는 스택으로 나누어 풀려고 했던 점이 패착이었다.
해당 문제는 입력 문자열을 리스트로 변환해 스택에 숫자일 시 넣어주고 연산자일 시 pop 해준 뒤에 append 하는 방식으로 하나의 원소가 남아있을 때까지 for 문을 돌려줘 해결해야했다.
또한 마지막에 b//a를 통해 정수형으로 반환해야하는 점 또한 유의해야했다.
import sys
stack =[]
result = 0
str = sys.stdin.readline().strip()
for i in str:
if i == '+':
a = stack.pop()
b = stack.pop()
stack.append(a+b)
elif i == '-':
a = stack.pop()
b = stack.pop()
stack.append(b-a)
elif i == '*':
a = stack.pop()
b = stack.pop()
stack.append(a*b)
elif i == '/':
a = stack.pop()
b = stack.pop()
stack.append(b//a)
else:
stack.append(int(i))
print(stack[0])