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 +"입니다.
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 +"입니다.
연도별
- 2020년08월22일
- 2020년06월06일
- 2019년08월04일
- 2019년04월27일
- 2019년03월03일
- 2018년08월19일
- 2018년04월28일
- 2018년03월04일
- 2017년08월26일
- 2017년05월07일
- 2017년03월05일
- 2016년08월21일
- 2016년05월08일
- 2016년03월06일
- 2015년08월16일
- 2015년05월31일
- 2015년03월08일
- 2014년08월17일
- 2014년05월25일
- 2014년03월02일
- 2013년08월18일
- 2013년06월02일
- 2013년03월10일
- 2012년08월26일
- 2012년05월20일
- 2012년03월04일
- 2011년08월21일
- 2011년06월12일
- 2011년03월20일
- 2010년09월05일
- 2010년05월09일
- 2010년03월07일
- 2009년08월30일
- 2009년05월10일
- 2009년03월01일
- 2008년09월07일
- 2008년05월11일
- 2008년03월02일
- 2007년09월02일
- 2007년05월13일
- 2007년03월04일
- 2006년09월10일
- 2006년05월14일
- 2006년03월05일
- 2005년09월04일
- 2005년05월29일
- 2005년03월20일
- 2005년03월06일
- 2004년09월05일
- 2004년05월23일
- 2004년03월07일
- 2003년08월31일
- 2003년05월25일
- 2003년03월16일
- 2002년09월08일
- 2002년05월26일
- 2002년03월10일
- 2001년09월23일
- 2001년06월03일
- 2001년03월04일
- 2000년10월01일
- 2000년07월23일
- 2000년05월14일
- 2000년03월12일
- 1999년10월10일
- 1999년08월08일
- 1999년06월20일
- 1999년04월18일
진행 상황
0 오답
0 정답