IPA過去問ドリル

平成28年度 春期 応用情報技術者試験 午前 問5

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

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

出典:平成28年度 春期 応用情報技術者試験 午前 問5

正解:ウ

解説

A,B,Cの順に入力し,各データについてスタックへの挿入と取出しを1回ずつ行う場合に得られる出力順列は,スタックの後入れ先出し(LIFO)性質を保つ並びだけです。全6通りの順列のうちCBAを先頭にできない等の制約があり,実現可能な出力順は5通りになります(ABC,ACB,BAC,BCA,CBA)。CABだけがスタック操作では実現不可能です。

選択肢ごとの解説

  • 誤り。3通りは制約が強すぎる数え方で,実際に実現可能な順序数より少なすぎます。
  • 誤り。4通りも実際に実現可能な出力順序の数より少なく数え漏れがあります。
  • 正しい。ABC,ACB,BAC,BCA,CBAの5通りが実現可能であり,CABだけが不可能です。
  • 誤り。6通りは順列の総数であり,スタックのLIFO制約でCABが実現できないことを考慮していません。
応用情報技術者の過去問を演習モードで解く