A, C, K, S, Tの順に文字が入力される。スタックを利用して、S, T, A, C, Kという順に文字を出力するために、最小限必要となるスタックは何個か。ここで、どのスタックにおいてもポップ操作が実行されたときには必ず文字を出力する。また、スタック間の文字の移動は行わない。

同じ順序で出したい文字数だけスタックが要る(LIFOは逆順のみ)

頻出基本情報技術者試験2019年度 秋期 午前8/アルゴリズムとプログラミング / データ構造

選択肢

正解と解説

正解: 3

スタックは後入れ先出しなので、同じスタックに積んだ複数の文字は積んだ順と逆順にしか出せない。出力の後半で A、C、K をこの順に出す必要があるが、この3文字は入力順も A、C、K なので、1つのスタックに積むと取り出しは K、C、A と逆になってしまう。よって A、C、K は別々のスタックに保持しておく必要があり、最低3個が要る。S と T は入力直後にそのまま出力できるので追加のスタックは不要である。

選択肢ごとの解説

出典:令和元年度 秋期 基本情報技術者試験 午前 問8(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。