---
title: "逆ポーランド表記法とは？後置表記を普通の式に戻す考え方【基本情報技術者試験】"
description: "逆ポーランド表記法を「演算子を計算対象の後ろに置く表記法」として整理し、FE試験で後置表記を普通の式に戻す手順と、スタックで処理する考え方を解説します。"
last_modified_at: "2026-07-09"
canonical_url: "https://stemtazoo.github.io/fe/reverse-polish-notation/"
section: "fe"
---

## まず結論

逆ポーランド表記法とは、**演算子を、計算する対象の後ろに置く表記法**です。

基本情報技術者試験では、逆ポーランド表記法は **「値・値・演算子」を見つけて、普通の式に戻す** と考えると分かりやすいです。

```text
A + B
→ AB+
```

問題文に **逆ポーランド表記法**、**後置表記法**、**演算子が後ろにある式** が出たら、直前の2つを演算する手順で読みます。

## 直感的な説明

普通の式では、演算子は値の間にあります。

```text
A + B
```

逆ポーランド表記法では、演算子を後ろに置きます。

```text
A B +
```

つまり、次のように読みます。

```text
値 値 演算子
→ その2つの値を計算する
```

例えば、`AB+` は `(A+B)` です。

`AB-` は `(A-B)` です。

引き算や割り算では、順番を逆にしないことが大切です。

```text
AB-
→ A-B

AB÷
→ A÷B
```

## 定義・仕組み

逆ポーランド表記法は、演算子を被演算子の後ろに書く表記法です。

後置表記法とも呼ばれます。

| 表記 | 例 | 意味 |
|---|---|---|
| 中置表記 | A+B | 普通の式。演算子が間にある |
| 後置表記 | AB+ | 逆ポーランド表記法。演算子が後ろにある |
| 前置表記 | +AB | ポーランド表記法。演算子が前にある |

逆ポーランド表記法は、スタックを使う処理と相性がよい表記です。

考え方は次のとおりです。

```text
値が出たら積む
演算子が出たら直前の2つを取り出して計算する
結果をまた1つの値として扱う
```

FE試験では、スタックの細かい実装よりも、まず **直前の2つを演算する** という読み方を押さえると十分です。

このテーマは、基本情報技術者試験の「アルゴリズムとプログラミング」と関係する内容です。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。

## 科目Aでどう出る？

科目Aでは、逆ポーランド表記で書かれた式を、普通の式に戻す問題が出やすいです。

判断するときは、左から順に見て、**値・値・演算子** の形を探します。

例えば、次の式を考えます。

```text
XY-Z*
```

まず、`XY-` を見つけます。

```text
XY-
→ (X-Y)
```

式は、次のように見られます。

```text
(X-Y) Z *
```

最後に `*` なので、

```text
(X-Y) * Z
```

となります。

試験中は、次の手順で進めると安定します。

```text
1. 左から見る
2. 値・値・演算子を探す
3. その部分を括弧でまとめる
4. まとめた部分を1つの値として扱う
5. 最後まで繰り返す
```

## 科目Bでどう使う？

科目Bでは、逆ポーランド表記そのものよりも、スタック処理や式の評価の考え方として出る可能性があります。

例えば、次のような処理です。

```text
A B + C *
```

これは、まず `A B +` を計算します。

```text
A B +
→ (A+B)
```

その結果と `C` を掛けます。

```text
(A+B) C *
→ (A+B)*C
```

スタックで見ると、次のような流れです。

```text
Aを積む
Bを積む
+ が来たので A+B を計算する
結果を積む
Cを積む
* が来たので (A+B)*C を計算する
```

科目Bで読むときは、次のように整理するとよいです。

```text
1. 値はスタックに積む
2. 演算子が出たら2つ取り出す
3. 計算結果を再び1つの値として扱う
```

この流れを押さえると、式の評価やスタックの動きを追いやすくなります。

## よくある誤解・混同

逆ポーランド表記法でよくある誤解は、**普通の式と同じように左から演算子を読んでしまうこと**です。

| 誤解 | 正しい理解 |
|---|---|
| `AB+` は `A` の後ろに `+B` があるだけ | `AB+` は `A+B` を表す |
| `AB-` は `B-A` | `AB-` は `A-B` |
| 最初に出てきた演算子が式全体の最後の演算とは限らない | 最後の演算子が、式全体を最後に結合することが多い |
| 括弧は不要 | 普通の式に戻すときは括弧でまとめると安全 |
| ポーランド表記法と同じ | ポーランド表記法は演算子が前、逆ポーランド表記法は後ろ |

特に、引き算と割り算では順番を間違えやすいです。

```text
EF-
→ E-F

EF÷
→ E÷F
```

また、最後の演算子もヒントになります。

```text
AB+CD-*
```

この式は最後が `*` なので、最後に2つのまとまりを掛ける形になります。

```text
(A+B) * (C-D)
```

## まとめ（試験直前用）

- 逆ポーランド表記法は、演算子を値の後ろに置く後置表記法
- `AB+` は `A+B`、`AB-` は `A-B`
- 左から見て「値・値・演算子」を探す
- 見つけた部分を括弧でまとめ、1つの値として扱う
- 最後の演算子は、式全体を最後に結合するヒントになる
