문제2033--수식의 후위 표기

2033: 수식의 후위 표기

[만든사람 : ]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

수식의 표기에서 중위 표기(infix expression)이란 2+2와 같이 더하기(+) 기호와 같은 연산자가 피연산자 사이에서 나타나는 것이다. 일반적으로 사용하는 표기법으로 연산의 우선순위를 정하고 우선순위에 따라 연산을 실시한다.
예를들어 2+32와 같은 수식이 있다면 곱하기() 연산을 먼저 수행한 뒤 더하기(+) 연산을 수행한다.
중위표기법:2+32
=2+6
=8

후위 표기법이란 피연산자를 먼저 표시하고 연산자를 나중에 표시하는 방법이다.
괄호가 필요 없으며 수식의 표현이 간단해진다.
예를 들어2+32 와 같은 수식은 다음과 같은 절차를 통해 바꿀 수 있다.
1. 우선순위에 따라 괄호를 표시한다. : (2+(32))
2. 각 괄호의 뒤로 연산자를 이동한다. : ( 2 ( 3 2 )  ) +
3. 괄호를 지운다. : 2 3 2  +
따라서 2+32의 수식은 후위 표기법: 2 3 2  + 이 된다.

중위 표기법으로 구성된 수식이 입력되면, 후위 표기법으로 변환하여 출력하여보자.
연산자의 우선 순위를 고려하여야 하며 괄호는 중괄호만 표현된다.

예를 들어 ( 4 + 5 ) / ( 2  1 ) 과 같은 수식은 다음과 같이 변환된다.
후위 표기 : 4 5 + 2 1  /


입력 설명

한 줄에 중위 표기법으로 구성된 수식이 입력된다. 피연산자와 연산자는 공백을 기준으로 분리하여 입력된다.
수식의 연산자는 +   /와 괄호 ( , )만 입력된다.

출력 설명

후위 표기법으로 변환된 수식이 출력된다. 피연산자와 연산자를 공백을 기준으로 분리하여 출력한다.

입력 예시 Copy

2 + 3 * 2

출력 예시 Copy

2 3 2 * + 

게시판

작성자제목(댓글)
글이 없습니다.

출처/분류