코테/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]))
반응형