Java 후위 표기법 실습하기
후위 표기법(postfix notation)은 연산자를 연산 대상의 뒤에 쓰는 연산 표기법으로서, 스택으로 구현가능합니다.
사람이 식을 보면 이해하기 어려워서 컴퓨터에게 계산을 시킬 때 주로 사용된다고 합니다.
방법
-
피연산자가 보이면 스택에 삽입(push)합니다.
-
연산자가 보이면 필요한 피연산잘를 스택에서 꺼내(pop) 연산하고, 연산 결과를 다시 스택에 삽입(push)합니다.
-
수식이 계산되면, 마지막으로 pop하여 출력합니다.
알고리즘 가상 코드는 아래와 같습니다.
가상 코드
func(exp)
while (true) do {
text <- get_text(exp);
case {
text = num :
push(text);
text = opera :
opr2 <- pop();
opr1 <- pop();
result <- opr1 op(text) opr2;
push(result);
text = null:
print(pop(stack));
}
}
end func
계속 반복하는 코드로서, 피연산자와 연산자를 구별하며 push와 pop을 수행합니다.
마지막에는 결국 결과가 나오고, 결과가 pop되면 스택에는 결과값만 남으므로 pop하여 출력하게 됩니다.
Written on March 24, 2018