문제 설명
수식의 표기에서 중위 표기(infix expression)이란 \(2+2\)와 같이 더하기(\(+\)) 기호와 같은 연산자가 피연산자 사이에서 나타나는 것이다. 일반적으로 사용하는 표기법으로 연산의 우선순위를 정하고 우선순위에 따라 연산을 실시한다.
예를들어 \(2+3*2\)와 같은 수식이 있다면 곱하기(\(*\)) 연산을 먼저 수행한 뒤 더하기(\(+\)) 연산을 수행한다.
중위표기법:\( 2+3*2\)
\(= 2+6\)
\(=8\)
후위 표기법이란 피연산자를 먼저 표시하고 연산자를 나중에 표시하는 방법이다.
괄호가 필요 없으며 수식의 표현이 간단해진다.
예를 들어\( 2 + 3 * 2\) 와 같은 수식은 다음과 같은 절차를 통해 바꿀 수 있다.
1. 우선순위에 따라 괄호를 표시한다. : \((2 + (3 * 2))\)
2. 각 괄호의 뒤로 연산자를 이동한다. : \((\ 2\ (\ 3\ 2\ )\ *\ )\ +\)
3. 괄호를 지운다. : \(2\ 3\ 2\ *\ +\)
따라서 \(2+3*2\)의 수식은 후위 표기법: \(2\ 3\ 2\ *\ +\) 이 된다.
중위 표기법으로 구성된 수식이 입력되면, 후위 표기법으로 변환하여 출력하여보자.
연산자의 우선 순위를 고려하여야 하며 괄호는 중괄호만 표현된다.
예를 들어 \((\ 4\ +\ 5\ )\ /\ (\ 2\ -\ 1\ )\) 과 같은 수식은 다음과 같이 변환된다.
후위 표기 : \(4\ 5\ +\ 2\ 1\ -\ /\)
예를들어 \(2+3*2\)와 같은 수식이 있다면 곱하기(\(*\)) 연산을 먼저 수행한 뒤 더하기(\(+\)) 연산을 수행한다.
중위표기법:\( 2+3*2\)
\(= 2+6\)
\(=8\)
후위 표기법이란 피연산자를 먼저 표시하고 연산자를 나중에 표시하는 방법이다.
괄호가 필요 없으며 수식의 표현이 간단해진다.
예를 들어\( 2 + 3 * 2\) 와 같은 수식은 다음과 같은 절차를 통해 바꿀 수 있다.
1. 우선순위에 따라 괄호를 표시한다. : \((2 + (3 * 2))\)
2. 각 괄호의 뒤로 연산자를 이동한다. : \((\ 2\ (\ 3\ 2\ )\ *\ )\ +\)
3. 괄호를 지운다. : \(2\ 3\ 2\ *\ +\)
따라서 \(2+3*2\)의 수식은 후위 표기법: \(2\ 3\ 2\ *\ +\) 이 된다.
중위 표기법으로 구성된 수식이 입력되면, 후위 표기법으로 변환하여 출력하여보자.
연산자의 우선 순위를 고려하여야 하며 괄호는 중괄호만 표현된다.
예를 들어 \((\ 4\ +\ 5\ )\ /\ (\ 2\ -\ 1\ )\) 과 같은 수식은 다음과 같이 변환된다.
후위 표기 : \(4\ 5\ +\ 2\ 1\ -\ /\)
입력 설명
한 줄에 중위 표기법으로 구성된 수식이 입력된다. 피연산자와 연산자는 공백을 기준으로 분리하여 입력된다.
수식의 연산자는 \( +\ -\ *\ /\)와 괄호 \( (\ ,\ )\)만 입력된다.
수식의 연산자는 \( +\ -\ *\ /\)와 괄호 \( (\ ,\ )\)만 입력된다.
출력 설명
후위 표기법으로 변환된 수식이 출력된다. 피연산자와 연산자를 공백을 기준으로 분리하여 출력한다.
입력 예시 Copy
2 + 3 * 2
출력 예시 Copy
2 3 2 * +