この問題は、スタックというデータ構造を用いた場合の可能な出力順序を問うています。スタックは「後入れ先出し(Last In, First Out: LIFO)」の特性を持つデータ構造です。つまり、最後に入れたものが最初に取り出されます。
読み込み中...
読み込み中...
A, B, C の順序で入力されるデータがある。各データについてスタックへの挿入と取出しを1回ずつ行うことができる場合、データの出力順序は何通りあるか。
結論 → 詳細 → 補足 の 3 層構成
この問題は、スタックというデータ構造を用いた場合の可能な出力順序を問うています。スタックは「後入れ先出し(Last In, First Out: LIFO)」の特性を持つデータ構造です。つまり、最後に入れたものが最初に取り出されます。
A, B, C という順序でデータが入力される場合、各データについて「スタックへの挿入」と「スタックからの取出し」を1回ずつ行うことができます。これを踏まえて、考えられる出力順序を列挙してみましょう。
まず、Aを挿入し、その後すぐにAを取り出すと、出力はAとなります。
次に、Aを挿入し、Bを挿入し、Aを取り出し、Bを取り出すと、出力はABとなります。
Aを挿入し、Bを挿入し、Bを取り出し、Aを取り出すと、出力はBAとなります。
A, B, C と順番に挿入し、それらを順番に取り出すと、出力はABCとなります。
A, B, C と挿入し、Cを取り出し、Bを取り出し、Aを取り出すと、出力はCBAとなります。
A, B, C と挿入し、Cを取り出し、Aを取り出し、Bを取り出すと、出力はCABとなります。
A, B, C と挿入し、Bを取り出し、Cを取り出し、Aを取り出すと、出力はBCAとなります。
A, B, C と挿入し、Bを取り出し、Aを取り出し、Cを取り出すと、出力はBACとなります。
これらの組合せを考えると、可能な出力順序はABC, ACB, BAC, BCA, CAB, CBA の6通りです。しかし、問題文では「A, B, C の順序で入力されるデータ」とあり、挿入順序は固定されています。また、「各データについてスタックへの挿入と取出しを1回ずつ行う」という制約があります。
この制約を考慮すると、出力順序は以下の5通りに絞られます。
1. Aを挿入し、取り出す。その後Bを挿入し、取り出す。その後Cを挿入し、取り出す。 → ABC
2. Aを挿入し、Bを挿入し、Aを取り出し、Bを取り出す。その後Cを挿入し、取り出す。 → ABA, BC → ABC (これは誤り、Bが取れない)
3. Aを挿入し、Bを挿入し、Bを取り出し、Aを取り出す。その後Cを挿入し、取り出す。 → BA, C → BAC
4. Aを挿入し、Bを挿入し、Cを挿入し、Cを取り出し、Bを取り出し、Aを取り出す。 → CBA
5. Aを挿入し、Bを挿入し、Cを挿入し、Cを取り出し、Aを取り出し、Bを取り出す。 → CAB
6. Aを挿入し、Bを挿入し、Cを挿入し、Bを取り出し、Cを取り出し、Aを取り出す。 → BCA
この問題は、スタック操作における「カタルーニャ数」という概念に関連しています。カタルーニャ数は、特定の組合せ問題の解となる数列であり、n個の要素に対するスタック操作での可能な出力順序の数は、(2n)! / ((n+1)! * n!) で計算されます。この問題ではn=3なので、(2*3)! / ((3+1)! * 3!) = 6! / (4! * 3!) = 720 / (24 * 6) = 720 / 144 = 5 となります。
アの3は、入力順序通りABCしか考えられないと誤解している場合に該当します。イの4は、スタックの操作回数や順序を誤って数えている場合に考えられます。エの6は、カタルーニャ数の計算で分母を間違えるなど、計算ミスによるものです。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
アルゴリズムとプログラミング の他の問題
応用情報技術者 と共通カリキュラムの他区分で「アルゴリズムとプログラミング」分野を演習する
応用情報技術者 の同じ分野を年度をまたいで演習する
応用情報技術者 勉強時間の目安|基本情報合格者・実務経験者・初学者別の合格モデル
応用情報技術者試験の合格に必要な勉強時間を、基本情報合格者・実務経験者・初学者の3パターン別に分解。午前・午後の時間配分と社会人の週次スケジュール例を実例で解説します。
基本情報を飛ばして応用情報から受けてもいい?|FEを省略してAPに挑む判断基準
基本情報(FE)を飛ばして応用情報(AP)からいきなり受けてもよいか。受験資格に制限はなく可能ですが、向き不向きがあります。飛ばしてよいケース・避けたほうがよいケース・注意点を、FEとAPの違いをふまえて正直に整理します。
応用情報技術者試験を取る意味はあるか|APのメリットと「意味ない」と言われる理由を整理
応用情報技術者試験(AP)は「意味ない」と言われることがある資格です。取得メリットと「役に立たない」と言われる理由を、転職・実務・高度試験への接続の3観点で整理し、誰に向くのかを正直に解説します。
応用情報 午後 文系・非エンジニア向け選択科目4選|暗記より読解で勝つ
応用情報技術者試験の午後選択を「文系・非エンジニア」目線で再構成。プログラミングを避けて読解力で勝てる4科目の選び方と、各科目の解答パターンを解説します。