본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 1935번 후위 표기식2

by 현장 2022. 5. 3.

-Code

n = int(input())
s = input()
nums = [int(input()) for _ in range(n)]
stack = []
for word in s:
    if word.isalpha():
        stack.append(nums[ord(word) - ord('A')])
    else:
        n2 = stack.pop()
        n1 = stack.pop()
        if word == '+':
            num = n1 + n2
            stack.append(num)
        elif word == '-':
            num = n1 - n2
            stack.append(num)
        elif word == '*':
            num = n1 * n2
            stack.append(num)
        elif word == '/':
            num = n1 / n2
            stack.append(num)
print("%.2f" % stack[0])