平成28年度 春期 応用情報技術者試験 午前 問5
A,B,C の順序で入力されるデータがある。各データについてスタックへの挿入と取出しを 1 回ずつ行うことができる場合,データの出力順序は何通りあるか。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ウ
3文字の並びは全部で 3! = 6 通りあります。スタックは後入れ先出し(LIFO)なので,それぞれ実現できるかを確認します。
- ABC:A入→A出→B入→B出→C入→C出 で可能
- ACB:A入→A出→B入→C入→C出→B出 で可能
- BAC:A入→B入→B出→A出→C入→C出 で可能
- BCA:A入→B入→B出→C入→C出→A出 で可能
- CBA:A入→B入→C入→C出→B出→A出 で可能
- CAB:C を最初に出すには A,B を積んだ状態になり,その後は B が A より先に出るため 不可能
したがって出力順序は 5通り です。
-
ア: 3
誤り。実現できる出力順序は5通りあります。 -
イ: 4
誤り。実現できる出力順序は5通りあります。 -
ウ: 5
正しい。6通りのうち CAB だけが実現できないため,5通りです。 -
エ: 6
誤り。CAB の順序はスタックでは実現できないため,6通りにはなりません。
答え
ウ: 5
出典:平成28年度 春期 応用情報技術者試験 午前 問5