동캄의 코딩도장

백준 1935 [후위 표기식2] 파이썬 본문

코테/BOJ

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

동 캄 2022. 9. 7. 14:35

https://www.acmicpc.net/problem/1935

 

1935번: 후위 표기식2

첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이

www.acmicpc.net

# 백준 1935 후위표기식2
import sys
import math
input = sys.stdin.readline
N = int(input())
lst = list(map(str, input().rstrip()))
val = [0]*(26)
for i in range(N):
    val[ord('A')+i-65] = int(input())
i = 0
stack = []
for value in lst:
    if 'A' <= value <= 'Z':
        stack.append(val[ord(value)-65])
    else:
        two = stack.pop()
        one = stack.pop()
        if value == '+':
            stack.append(one+two)
        elif value == '-':
            stack.append(one-two)
        elif value == '*':
            stack.append(one*two)
        elif value == '/':
            stack.append(one/two)
print("{:.2f}".format(stack[0]))

'코테 > BOJ' 카테고리의 다른 글

백준 2491[수열] 파이썬  (0) 2022.09.07
백준 2504 [괄호의 값] 파이썬  (1) 2022.09.07
백준 9507 [Generations of Tribbles] 파이썬  (0) 2022.09.05
백준 2407 [조합] 파이썬  (0) 2022.09.05
백준 1904 [01 타일] 파이썬  (0) 2022.09.05