Q. 후위 표기식의 계산에 대해서 궁금한 점이 있습니다.

Leftside 2019. 05. 26.


후위 표기식의 계산 중에서 12-3*4+을 한다고 하면 스텍에 1이가장 먼저 쌓이고 그다음에 2가쌓이게 되는 구조인데 계산을 할때 1-2를 계산해서 -1이 쌓이게 되는건가요 아니면 둘의 차의 절댓값인 1이 쌓이 게 되는건가요? 궁금합니다!

공유하고 보상받기 ♥︎
댓글 0

1개의 답변이 있습니다.

큐레이터 채택
soda 답변자인증
삼성전자 2019. 05. 27
100%의 채택

12-3*4+

  1. 1을 stack에 넣는다. 즉, stack에는 (1)

  2. 2를 stack에 쌓는다. 즉, stack에는 (1), (2)

  3. 연산자 -를 만났으므로, stack에서 두 개의 operand를 빼서 연산자로 계산하고, 그 결과 ( 1-2 = -1)를 stack에 넣는다. 즉, stack에는 (-1)이 들어가 있게 됩니다.

  4. 3을 stack에 쌓는다. 즉, stack에는 (-1), (3)이 들어가 있게 되죠.

  5. 연산자 *를 만났으므로, stack에서 두 개의 operand를 빼서 연산자로 계산하고, 그 결과 (-1 * 3 = -3)를 stack에 넣는다. 즉, stack에는 (-3)이 들어가 있게 됩니다.

  6. 4를 stack에 쌓는다. 즉, stack에는 (-3), (4)

  7. 연산자 +를 만났으므로, stack에서 두 개의 operand를 빼서 연산자로 계산하고, 그 결과 ( -3+4 = 1)를 stack에 넣는다. 즉, stack에는 (1)이 들어가 있게 됩니다.

댓글 0