令和3年度春期 問5 / 80

令和3年度 春期 応用情報技術者試験 午前 問5

A,B,Cの順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合,データの出力順序は何通りあるか。

問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

A, B, C の3つのデータの出力順序は、3! = 6通りが理論的に存在しますが、スタックの特性(後入れ先出し)により、すべての順序が可能とは限りません。

可能な出力順序の検証

  1. [A, B, C]
    - 手順: push(A) → pop → push(B) → pop → push(C) → pop
    - 可能

  2. [A, C, B]
    - 手順: push(A) → pop → push(B) → push(C) → pop → pop
    - 可能

  3. [B, A, C]
    - 手順: push(A) → push(B) → pop → pop → push(C) → pop
    - 可能

  4. [B, C, A]
    - 手順: push(A) → push(B) → pop → push(C) → pop → pop
    - 可能

  5. [C, B, A]
    - 手順: push(A) → push(B) → push(C) → pop → pop → pop
    - 可能

  6. [C, A, B]
    - 手順: push(A) → push(B) → push(C) → pop → pop ×
    - 不可能(Cを最初に出力するにはAを先に出す必要があるため無理)


結論

可能な出力順序は 5通り です。


答え

ウ: 5

出典:令和3年度 春期 応用情報技術者試験 午前 問5

令和3年度春期の他の問題