https://www.acmicpc.net/problem/1918
import sys
notation = sys.stdin.readline().rstrip()
stack = []
result = ""
for i in notation:
if i.isupper():
result += i
else:
if i == "(":
stack.append(i)
elif i == "*" or i == "/":
while stack and (stack[-1] == "*" or stack[-1] == "/"):
result += stack.pop()
stack.append(i)
elif i == "+" or i == "-":
while stack and stack[-1] != "(":
result += stack.pop()
stack.append(i)
elif i == ")":
while stack and stack[-1] != "(":
result += stack.pop()
stack.pop()
print(result + "".join(stack)[::-1])
알파벳의 순서는 바뀌지 않고 사칙연산의 위치만 바뀌기 때문에 입력제한에 따라 대문자인지 판별하고 결과값에 추가한다.