스택 - 후위 표기 수식

스택 - 후위 표기 수식 계산

후위 표기법 수식의 계산

예시

A B + C D + * 의 계산과정 == (A + B) * (C + D) img

  1. A 는 피연산자 이므로 스택에 넣는다. 현재 스택 상황 : A
  2. B 는 피연산자 이므로 스택에 넣는다. 현재 스택 상황 : A // B
  3. +는 연산자 이므로 스택에서 피연산자 두 개를 꺼내어 연산하고, 그 결과를 스택에 넣는다. 현재 스택상황 : A + B
  4. C 는 피연산자 이므로 스택에 넣는다. 현재 스택 상황 : A + B // C
  5. D 는 피연산자 이므로 스택에 넣는다. 현재 스택 상황 : A + B // C // D
  6. +는 연산자 이므로 스택에서 피연산자 두 개를 꺼내어 연산하고, 그 결과를 스택에 넣는다. 현재 스택 상황 : A + B // C + D
  7. *는 연산자 이므로 스택에서 피연산자 두 개를 꺼내어 연산하고, 그 결과를 스택에 넣는다. 현재 스택 상황 : (A+B) * (C + D)
  8. 수식이 끝났기 때문에 스택에 남아있는 최종 연산 결과를 꺼낸다

알고리즘의 설계