주어진 중위표기식인 식을 후위표기식으로 변환해 출력해주면 된다.
arr = input()
priority = {'+': 1, '-': 1, '*': 2, '/': 2, '(': 0, ')': 0} #연산자에 우선순위를 지정
stack = list()
ans = ''
for i in arr:
if i in ['+', '-', '*', '/', '(', ')']: #연산자일 때
if i == '(':
stack.append(i)
elif i == ')':
while stack[-1] != '(':
ans += stack.pop()
stack.pop()
elif not stack:
stack.append(i)
elif priority[stack[-1]] >= priority[i]:
while stack and priority[stack[-1]] >= priority[i]:
ans += stack.pop()
stack.append(i)
else:
stack.append(i)
else:
ans += i
j = len(stack)
while j > 0:
ans += stack.pop()
j -= 1
print(ans)