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

2003년03월16일 5번

[데이터 베이스]
다음과 같은 중위식(infix)을 후위식(postfix)으로 올바르게 표현한 것은?

  • ① + * / A B + C D E
  • ② C D + A B / * E +
  • ③ A B / (C D +) * / E +
  • ④ A B / C D + * E +
(정답률: 60%)

문제 해설

중위식을 후위식으로 바꾸는 방법은 다음과 같습니다.

1. 피연산자는 그대로 출력합니다.
2. 연산자는 스택에 넣습니다.
3. 연산자를 넣을 때, 스택의 top에 있는 연산자의 우선순위가 더 높거나 같으면 top의 연산자를 출력하고 pop한 후에 현재 연산자를 스택에 넣습니다.
4. 중위식을 모두 읽은 후에 스택에 남아있는 연산자를 모두 출력합니다.

위의 방법을 따라서 주어진 중위식을 후위식으로 바꾸면 다음과 같습니다.

A B / C D + * E +
= A / B * (C + D) + E
= (A / B) * (C + D) + E

1. A와 B를 그대로 출력합니다.
2. / 연산자를 스택에 넣습니다.
3. C와 D를 그대로 출력합니다.
4. + 연산자를 스택에 넣습니다.
5. 스택의 top에 있는 연산자는 +이고, 현재 연산자는 *이므로 top의 연산자를 출력하고 pop합니다. 그리고 * 연산자를 스택에 넣습니다.
6. E를 출력합니다.
7. 스택에 남아있는 연산자는 없으므로 모두 출력합니다.

따라서 정답은 "A B / C D + * E +"입니다.

연도별

진행 상황

0 오답
0 정답