후위 표기식의 계산에 대해서 궁금한 점이 있습니다.
후위 표기식의 계산 중에서 12-3*4+을 한다고 하면 스텍에 1이가장 먼저 쌓이고 그다음에 2가쌓이게 되는 구조인데 계산을 할때 1-2를 계산해서 -1이 쌓이게 되는건가요 아니면 둘의 차의 절댓값인 1이 쌓이 게 되는건가요? 궁금합니다!
55글자 더 채워주세요.
1개의 답변이 있어요!
12-3*4+
1을 stack에 넣는다. 즉, stack에는 (1)
2를 stack에 쌓는다. 즉, stack에는 (1), (2)
연산자 -를 만났으므로, stack에서 두 개의 operand를 빼서 연산자로 계산하고, 그 결과 ( 1-2 = -1)를 stack에 넣는다. 즉, stack에는 (-1)이 들어가 있게 됩니다.
3을 stack에 쌓는다. 즉, stack에는 (-1), (3)이 들어가 있게 되죠.
연산자 *를 만났으므로, stack에서 두 개의 operand를 빼서 연산자로 계산하고, 그 결과 (-1 * 3 = -3)를 stack에 넣는다. 즉, stack에는 (-3)이 들어가 있게 됩니다.
4를 stack에 쌓는다. 즉, stack에는 (-3), (4)
연산자 +를 만났으므로, stack에서 두 개의 operand를 빼서 연산자로 계산하고, 그 결과 ( -3+4 = 1)를 stack에 넣는다. 즉, stack에는 (1)이 들어가 있게 됩니다.