記事一覧へ戻る

1分で理解する!逆ポーランド記法(RPN)

結論から

演算子を後ろに書く → 括弧が不要 → スタックで計算できる

通常(中置記法)

(3 + 5) × 2

逆ポーランド記法(後置記法)

3 5 + 2 ×

なぜ使うの?

理由は超シンプル:

  • 括弧がいらない

  • 機械が処理しやすい(スタック1本でOK)

コンパイラ内部・電卓・試験問題で使われる


スタック処理の流れ(PUML)

例:
3 5 + 2 ×



✅ 処理ルール(ここ暗記)

数値が来たら

👉 そのまま push

演算子が来たら

👉 2つ pop → 計算 → 結果を push

※ 引き算・割り算は順序注意:

  • pop① → B

  • pop② → A
    → A - B / A ÷ B


⚠ 超重要:順番ミスると即死亡

例:
10 2 -

pop順:

  • B = 2

  • A = 10

→ 10 - 2 = 8 ✅

逆にすると:

→ 2 - 10 = -8 ❌

試験はここで落としに来ます。


🔁 中置 → 逆ポーランド変換の考え方

例:

(2 + 3) × 4

ステップ:

  1. 括弧内先に

  2. 演算子は後ろへ

2 3 + 4 ×


基本情報の出題パターン

① 計算結果を求めよ

5 6 2 + ×

解き方:

  • 6 2 → + → 8

  • 5 8 → × → 40


② 正しい式はどれか

中置: (A + B) × C

正解:

A B + C ×

③ スタック状態を問う

途中で止めて:

この時点のスタック内容は?

→ 1トークンずつ追うだけ
→ 暗算しない、必ず書く


試験用テンプレ解法(これ守れば事故らない)

  1. 左から1個ずつ読む

  2. 数字 → 積む

  3. 演算子 → 2個取って計算

  4. 結果を積む

  5. 最後に残った1個が答え