アルゴリズムとプログラミング

令和元年度 秋期 基本情報技術者試験 午前 問8

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

出典:令和元年度 秋期 基本情報技術者試験 午前 問8(問題文は IPA の公開問題。解説は当サイト作成)

解説に誤りを見つけたら、解説の誤りを報告してください。

答えと解説を見る

正解:ウ

覚える知識

スタックによる出力順序の実現に必要なスタック数

スタックは最後に入れた要素から取り出す後入れ先出しのデータ構造である。

この問題で必要なこと

入力順 ACKST から出力順 STACK を得るには、後入れ先出しの制約により複数のスタックを使い分ける必要がある。

ひっかけ

1個や2個で足りると考えさせる。

この知識の出題:本試験系 1 回・免除試験 0 回(公開問題での観測値)。頻出知識ランキング736位(全1,254件中)。

この知識をアプリで解いて覚える レッスン「スタックとキュー(LIFO と FIFO)」で学ぶ