정보처리산업기사 기출문제·모의고사·오답노트·자동채점

2018년04월28일 20번

[데이터 베이스]
후위 표기(postfix)식이 다음과 같을 때 식의 계산 결과는?

  • ① 6
  • ② 7
  • ③ 14
  • ④ -10
(정답률: 59%)

문제 해설

후위 표기식은 연산자를 뒤에 놓는 표기법으로, 스택을 이용하여 계산할 수 있습니다.

먼저, 스택을 생성합니다.

후위 표기식을 왼쪽에서 오른쪽으로 읽으면서,

1. 피연산자(숫자)를 만나면 스택에 push 합니다.
2. 연산자를 만나면 스택에서 두 개의 피연산자를 pop 하여 연산을 수행하고, 그 결과를 다시 스택에 push 합니다.

따라서, 위의 후위 표기식을 계산해보면

1. "6"을 스택에 push 합니다. (스택: 6)
2. "7"을 스택에 push 합니다. (스택: 6, 7)
3. "14"를 스택에 push 합니다. (스택: 6, 7, 14)
4. "-" 연산자를 만나면, 스택에서 두 개의 피연산자를 pop 합니다. (스택: 6, 7)
이때, 먼저 pop 되는 피연산자는 오른쪽에 위치한 것이므로, 7이 됩니다.
다음으로 pop 되는 피연산자는 왼쪽에 위치한 것이므로, 6이 됩니다.
따라서, 7 - 6 = 1 이고, 이 결과를 다시 스택에 push 합니다. (스택: 1)
5. "0"을 스택에 push 합니다. (스택: 1, 0)
6. "-" 연산자를 만나면, 스택에서 두 개의 피연산자를 pop 합니다. (스택: 1)
이때, 먼저 pop 되는 피연산자는 오른쪽에 위치한 것이므로, 0이 됩니다.
다음으로 pop 되는 피연산자는 왼쪽에 위치한 것이므로, 1이 됩니다.
따라서, 0 - 1 = -1 이고, 이 결과를 다시 스택에 push 합니다. (스택: -1)
7. "0"을 스택에 push 합니다. (스택: -1, 0)
8. "-" 연산자를 만나면, 스택에서 두 개의 피연산자를 pop 합니다. (스택: -1)
이때, 먼저 pop 되는 피연산자는 오른쪽에 위치한 것이므로, 0이 됩니다.
다음으로 pop 되는 피연산자는 왼쪽에 위치한 것이므로, -1이 됩니다.
따라서, 0 - (-1) = 1 이고, 이 결과를 다시 스택에 push 합니다. (스택: 1)

마지막으로, 스택에 남아있는 값인 1이 계산 결과입니다.

따라서, 정답은 "-10"이 아니라 "1"입니다.

["6", "7", "14", "-10"]은 후위 표기식을 만들 때 사용된 숫자와 연산자들의 순서를 나타내는 것으로, 계산 결과와는 직접적인 연관이 없습니다.

연도별

진행 상황

0 오답
0 정답