結論から
演算子を後ろに書く → 括弧が不要 → スタックで計算できる
通常(中置記法)
逆ポーランド記法(後置記法)
なぜ使うの?
理由は超シンプル:
-
括弧がいらない
-
機械が処理しやすい(スタック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 ×
基本情報の出題パターン
① 計算結果を求めよ
5 6 2 + ×
解き方:
-
6 2 → + → 8
-
5 8 → × → 40
② 正しい式はどれか
中置: (A + B) × C
正解:
③ スタック状態を問う
途中で止めて:
この時点のスタック内容は?
→ 1トークンずつ追うだけ
→ 暗算しない、必ず書く
試験用テンプレ解法(これ守れば事故らない)
-
左から1個ずつ読む
-
数字 → 積む
-
演算子 → 2個取って計算
-
結果を積む
-
最後に残った1個が答え