BOJ1935 후위표기식 2
수는 전부 다 넣고 스택에 넣고 연산자 인경우 스택에서 수 2개를 빼서 연산하고 스택에 다시 넣으면 풀리는 문제
import sys
input = sys.stdin.readline
N = int(input().strip())
elems = list(input().strip())
operands = [int(input().strip()) for _ in range(N)]
for i in range(len(elems)):
if 'A' <= elems[i] <= 'Z':
elems[i] = str(operands[ord(elems[i])-65])
st = []
for i in range(len(elems)):
if elems[i].isdigit():
st.append(int(elems[i]))
else:
b = float(st.pop())
a = float(st.pop())
if elems[i] == '+':
st.append(str(a+b))
elif elems[i] == '-':
st.append(str(a-b))
elif elems[i] == '*':
st.append(str(a*b))
elif elems[i] == '/':
st.append(str(a/b))
print("%.2f"%(float(st.pop())))
Author And Source
이 문제에 관하여(BOJ1935 후위표기식 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@randi65535/BOJ1935저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)