from collections import deque
import sys
N = int(input())
equation = input()
alpha_nums = [0] * 26
stack = []
def calculate(a, b, op):
if op == '+':
return a + b
elif op == '-':
return a - b
elif op == '*':
return a * b
elif op == '/':
return a / b
for i in range(N):
a = int(input())
alpha_nums[i] = a
for char in equation:
if char not in ['+', '-', '*', '/']:
stack.append(alpha_nums[ord(char) - ord('A')])
else:
b = float(stack.pop())
a = float(stack.pop())
stack.append(calculate(a, b, char))
print("%.2f" % stack.pop())
후위표기식 ab+ 는 a+b로 계산된다.
123*+45/-
16+45/-
745/-
7 0.8 -
6.2
이런식으로 연산자를 만나면 앞의 두 피연산자 두 개를 가지고 연산을 하고 스택에 다시 넣으면된다.