data = input().split()
stackNum = []
stackOp = []
topNum = 0
topOp = 0
result = 0
# using Dictionary
opChange = {'+':1, '-':1, '*':2, '/':2}
for i in range(len(data)):
if data[i] == '+' or data[i] == '-' or data[i] == '*' or data[i] == '/':
if topOp == 0:
stackOp.append(data[i])
topOp += 1
else:
if stackOp[topOp-1] == '+' or stackOp[topOp-1] == '-':
# + -
stackOp.append(data[i])
topOp += 1
else:
# * /
if data[i] == '+' or data[i] == '-':
v1 = stackNum.pop()
topNum -= 1
v2 = stackNum.pop()
topNum -= 1
o1 = stackOp.pop()
topOp -= 1
if o1 == '*':
vr = v1 * v2
stackNum.append(vr)
topNum += 1
else:
vr = v1 // v2
stackNum.append(vr)
topNum += 1
stackOp.append(data[i])
topOp += 1
else:
stackOp.append(data[i])
topOp += 1
else:
stackNum.append(int(data[i]))
topNum += 1
print(stackNum)
print(stackOp)
top of page
실제 작동 상태를 확인하려면 라이브 사이트로 이동하세요.
220120
220120
댓글 0개
좋아요
댓글(0)
bottom of page