pop
을 하게 된다.pop
을 한다.[중위] (A + B) * C
[후위] A B + C *
→ 괄호안에 있는 내용들 먼저 pop
[중위] A * (B + C)
[후위] A B C + *
연산자를 만났을 때, 여는 괄호 너머까지 pop 하지 않도록
여는 괄호 우선순위는 가장 낮게 설정
prec = {
'*' : 3,
'/' : 3,
'+' : 2,
'-' : 2,
'(' : 1 # 괄호는 우선 순위가 가장 낮게
}
중위 표현식을 왼쪽부터 한 글자씩 읽어서
(
이면 스택에 push
)
이면 )
이 나올 때까지 스택에서 pop
그리고 출력
연산자이면 스택에서 이보다 높(거나 같)은 우선순위 것들을 pop
그리고 출력
push
스택에 남아 있는 연산자는 모두 pop
그리고 출력