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

基本情報技術者試験 科目A免除 修了試験 20210613 実施分 問7

A,B,C,D の順に到着するデータに対して,一つのスタックだけを用いて出力可能なデータ列はどれか。
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 20210613 実施分 問7(問題文は IPA の公開問題。解説は当サイト作成)

答えと解説を見る

正解:ウ

覚える知識

スタックで出力可能なデータ列の判定

スタックは後入れ先出しのため、入力順序の途中で取り出すと、スタック内の要素は逆順でしか出力できない。

この問題で必要なこと

A,B,C,Dの順にpush/popして得られる列を確認する。C,B,D,AはA,B,Cをpushし、Cをpop、Bをpop、Dをpush・pop、最後にAをpopで得られる。

ひっかけ

A,D,B,Cなどは、Bより先にCを取り出す必要があるなどスタックでは不可能な順序を含む。

この知識の出題:本試験系 2 回・免除試験 6 回(公開問題での観測値)

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

同じ問題が出た回