こんにちは!
今回は、プログラミングや情報処理技術者試験でもよく出てくる「逆ポーランド記法(後置記法)」の変換テクニックについて解説していきます。
🔁 逆ポーランド記法(RPN)とは?
中置記法:
普段の数式(例:a + b
)のように「演算子(+)」が真ん中にある表記。
後置記法(逆ポーランド記法):
演算子が後ろに来る(例:a b +
)記法。
スタック構造と相性がよく、括弧不要&計算順が明確というメリットがあります。
🧠 変換のコツ
- 最も内側のカッコから処理
- 演算子はオペランドの後ろに置く
- スタックや木構造で整理すると◎
🧪 変換例①:(a + b * c) - d
中置記法の意味:
a + (b * c) - d → b * c + a - d
ステップ分解:
b * c
→b c *
a + (b c *)
→a b c * +
(a b c * +) - d
→a b c * + d -
✅ 逆ポーランド表記:
a b c * + d -
🧪 変換例②:(a + (b * c)) - d
中置記法の意味:
括弧が少し深くなっただけで、実質①と同じ計算順。
ステップ分解:
b * c
→b c *
a + (b c *)
→a b c * +
(a b c * +) - d
→a b c * + d -
✅ 逆ポーランド表記:
a b c * + d -
🧪 変換例③:(a + b) * (c - d)
ステップ分解:
a + b
→a b +
c - d
→c d -
(a b +) * (c d -)
→a b + c d - *
✅ 逆ポーランド表記:
a b + c d - *
🧪 変換例④:a + (b * (c - d))
ステップ分解:
c - d
→c d -
b * (c d -)
→b c d - *
a + (b c d - *)
→a b c d - * +
✅ 逆ポーランド表記:
a b c d - * +
📚 まとめ
式 | RPN(逆ポーランド記法) |
---|---|
(a + b * c) – d | a b c * + d - |
(a + (b * c)) – d | a b c * + d - |
(a + b) * (c – d) | a b + c d - * |
a + (b * (c – d)) | a b c d - * + |
✅ 試験対策ポイント
- 演算子は必ず後ろに!
- 中から外へ変換するのがコツ!
- スタックで「値を入れて、演算子が来たら計算して戻す」感覚で覚えると◎
✍️ 最後にひとこと
逆ポーランド記法は、見慣れないだけでルールはとてもシンプルです!
ちょっとした計算式で練習しておくと、基本情報や応用情報でもしっかり得点源になります。