코테 대비 python/백준
복습 1935 후위 표기식2
ylab
2023. 4. 14. 15:02
https://www.acmicpc.net/problem/1935
1935번: 후위 표기식2
첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이
www.acmicpc.net
언제나 그렇듯 핵심은 자료구조를 사용하여 요구하는 것을 구현할 수 있는가??
사용한것 key-value
스택자료구조
출력시 f 사용 ==> 맨날까먹어ㅜㅜ
n=int(input())
a=list(input())
val=dict()
alpa="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
cal=[]
result=0
for i in range(n):
val[alpa[i]]=int(input())
for i in a:
if i in alpa:
cal.append(val[i])
elif i == "*":
a=cal.pop()
b=cal.pop()
cal.append(b*a)
elif i == "+":
a = cal.pop()
b = cal.pop()
cal.append(b + a)
elif i == "-":
a = cal.pop()
b = cal.pop()
cal.append(b - a)
elif i == "/":
a = cal.pop()
b = cal.pop()
cal.append(b / a)
num=cal[0]
print(f"{num:.2f}")