중위 표기식(A+B*C-D/E)을 후위 표기식(ABC*+DE/-)으로 바꿔야한다.
주어진 자료를 재정리 해야한다.
Stack은 주어진 자료를 재정리 할 때 주로 사용되는 방법이다.
num = input()
answer = ''
stack = []
for i in num:
if i.isalpha():
answer += i
else:
if i == '(':
stack.append(i)
elif i == '*' or i == '/':
while stack and (stack[-1] == '*' or stack[-1] == '/'):
answer += stack.pop()
stack.append(i)
elif i == '+' or i == '-':
while stack and stack[-1] != '(':
answer += stack.pop()
stack.append(i)
elif i == ')':
while stack and stack[-1] != '(':
answer += stack.pop()
stack.pop()
while stack:
answer += stack.pop()
print(answer)
if i.isalpha():
answer += i
if i == '(':
stack.append(i)
elif i == '*' or i == '/':
while stack and (stack[-1] == '*' or stack[-1] == '/'):
answer += stack.pop()
stack.append(i)
elif i == '+' or i == '-':
while stack and stack[-1] != '(':
answer += stack.pop()
stack.append(i)
elif i == ')':
while stack and stack[-1] != '(':
answer += stack.pop()
stack.pop()
while stack:
answer += stack.pop()