폴란드 표기법 변환기

중위, 전위 폴란드, 후위 역폴란드 표기법 사이에서 수식을 변환하고 읽기 쉬운 결과를 바로 확인하세요.

수식 표기법 변환
수식을 입력하고 원본 및 대상 표기법을 선택하세요.

폴란드 표기법 변환 안내

폴란드 표기법은 값 사이에 연산자를 두는 일반적인 배치에 의존하지 않고 수학식과 논리식을 쓰는 방법입니다. 보통의 중위 표기법은 A + B처럼 피연산자 사이에 연산자를 둡니다. 전위 표기법은 연산자를 앞에 두어 + A B로, 후위 표기법은 뒤에 두어 A B +로 씁니다. 전위 형식은 폴란드 표기법, 후위 형식은 역폴란드 표기법 또는 RPN이라고 합니다. 연산자와 피연산자의 순서가 명확하므로 대개 괄호가 필요하지 않습니다. 이 변환기는 중위에서 전위, 중위에서 후위, 전위에서 중위, 후위에서 중위로의 네 가지 변환을 지원합니다. 중위 입력에서는 식별자, 십진수, 괄호와 덧셈·뺄셈·곱셈·나눗셈·거듭제곱 연산자를 인식합니다. 표준 우선순위에 따라 거듭제곱을 먼저, 곱셈과 나눗셈을 그다음, 덧셈과 뺄셈을 마지막으로 처리합니다. 괄호로 순서를 바꿀 수 있습니다. 거듭제곱은 오른쪽 결합이므로 a ^ b ^ c는 a ^ (b ^ c)를 뜻합니다. 중위 변환은 션팅 야드 알고리즘으로 토큰을 우선순위에 맞게 배치합니다. 연산자는 스택에 잠시 보관하고 값은 출력으로 바로 이동합니다. 전위 출력은 생성된 후위 시퀀스에서 구성합니다. 전위 및 후위에서 중위로 변환할 때는 부분 수식을 담는 스택을 사용합니다. 연산자를 만날 때마다 해당하는 두 피연산자를 꺼내 결합하고 괄호로 감싼 뒤 스택에 다시 넣습니다. 마지막 스택 항목이 완전한 중위 수식입니다. 전위와 후위 입력에서는 공백이 각 피연산자와 연산자를 구분하므로 중요합니다. *+ABC가 아닌 * + A B C로 작성하세요. 중위 수식은 괄호와 연산자 문자가 토큰을 구분하므로 공백을 넣거나 생략할 수 있습니다. 변환기는 변수명과 숫자 값을 유지하면서 결과를 쉽게 살펴보도록 공백과 괄호를 추가합니다. 표기법 변환은 수식 트리, 컴파일러 구문 분석, 스택 머신, 계산기, 자료구조를 공부할 때 유용합니다. 후위 수식은 간단한 스택으로 왼쪽에서 오른쪽으로 계산할 수 있고, 전위 수식은 비슷하게 오른쪽에서 왼쪽으로 처리할 수 있습니다. 익숙한 중위 수식을 다른 형식으로 바꾸면 연산자 우선순위가 명확해져 수식 분석 연습을 확인하기 좋습니다.

폴란드 표기법 예시

서로 다른 표기법으로 나타낸 동등한 수식입니다.

입력출력변환
(A + B) * C - D- * + A B C D중위 → 전위
A + B * CA B C * +중위 → 후위
* + A B - C D((A + B) * (C - D))전위 → 중위
A B + C D - *((A + B) * (C - D))후위 → 중위

표기법 변환기 사용 방법

  1. 네 가지 변환 유형 중 하나를 골라 입력과 목표 표기법을 지정하세요.
  2. 수식을 입력하세요. 전위 또는 후위 입력에서는 모든 토큰 사이에 공백을 넣으세요.
  3. 변환을 선택해 수식을 분석하고 동등한 표기법을 표시하세요.
  4. 결과의 연산자 순서를 확인하거나 초기화로 수식을 지우고 다시 시작하세요.

폴란드 표기법 변환 FAQ

폴란드 표기법이란 무엇인가요?

연산자를 피연산자 앞에 두는 방식으로 A + B는 + A B가 됩니다. 각 연산자의 피연산자 수를 알면 괄호가 필요하지 않습니다.

역폴란드 표기법이란 무엇인가요?

연산자를 피연산자 뒤에 두는 방식으로 A + B는 A B +가 됩니다. 후위 표기법이라고도 하며 보통 스택으로 계산합니다.

전위와 후위 수식에 공백이 필요한가요?

네. 여러 문자로 된 값을 명확히 구분하도록 토큰 사이에 공백이 필요합니다. 예를 들어 +total25 대신 + total 25로 쓰세요.

연산자 우선순위는 어떻게 처리하나요?

중위 수식에서 거듭제곱이 가장 먼저이며 곱셈과 나눗셈, 덧셈과 뺄셈 순으로 이어집니다. 괄호는 이 기본 순서보다 우선합니다.

숫자와 변수명을 함께 사용할 수 있나요?

네. 피연산자는 십진수 또는 문자, 숫자, 밑줄로 된 식별자일 수 있습니다. 변환기는 수치를 계산하지 않고 토큰 순서만 바꿉니다.