스택을 활용하여 연산자를 처리한다. 중위식을 하나씩 읽어서 1. 피연산자이면 반환할 문자열에 바로 합친다.
2. 연산자 +또는-를 읽으면 기존스택에 쌓았던 '('직전까지 반환문자열에 저장하고 +-를 스택에 저장한다.
3. 곱셉또는 나누기를 만나면 기존스택에 꼭대기부터 차례대로 곱셉과 나눗셈을 모두 반환문자에 합친다. 만약 그외의 것을 만나면 반복을 중단하고 */을 스택에 저장한다.
4. 열린 소괄호를 만나면 바로 스택에 저장한다.
5. 닫힌 소괄호를 만나면 열린소괄호를 스택에서 pop할 때까지 모두 반환문자열에 합친다.
마지막으로 중위식에 위 조건을 모두 반복하고 남은 스택은 뒤집어서 반환문자열에 합친다.
answer = ""
op = []
for i in input():
if i in "+-":
while op and op[-1] != '(':
answer += op.pop()
op.append(i)
elif i in "*/":
while op and op[-1] in "*/":
answer += op.pop()
op.append(i)
elif i == '(':
op.append(i)
elif i == ')':
while op and op[-1] != '(':
answer += op.pop()
op.pop()
else:
answer += i
print(answer + "".join(op[::-1]))