IPA過去問ドリル

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

テクノロジ/アルゴリズム

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

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

正解:ウ

解説

入力順が A,B,C に固定され,各データについて push と pop を1回ずつ行える場合,出力順序の総数は n=3 のカタラン数 C₃=5 通りです。実際に列挙すると ABC,ACB,BAC,BCA,CBA の5通りで,CAB は「C を出した後に A を B より先に出す」ことになりスタックの後入れ先出しの性質に反するため実現できません。

選択肢ごとの解説

  • 誤り。3 通りとするのは,ABC,BAC,CBA のように一部の順序しか数え上げていない場合の値です。
  • 誤り。4 通りとするのは,実現可能な5通りのうち ACB や BCA などを数え落とした場合の値です。
  • 正しい。ABC,ACB,BAC,BCA,CBA の 5 通りです。
  • 誤り。6 通りは3個の順列 3!=6 をそのまま数えた値で,スタックでは実現できない CAB を含んでしまっています。
応用情報技術者の過去問を演習モードで解く