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

基本情報技術者試験両端キュー(デック)dq…

アルゴリズムとプログラミングアルゴリズムとプログラミング計算問題難易度:normal
両端キュー(デック)dq に対し、pushFront(先頭に追加)、pushBack(末尾に追加)、popFront(先頭から取り出して返す)、popBack(末尾から取り出して返す)を行う。空の dq に次の操作を順に実行したあと、デックの内容(先頭→末尾)はどれか。
○手続: run()
  pushBack(150)
  pushFront(260)
  pushBack(370)
  popFront()
  pushFront(480)
  popBack()
{480, 370}
{260, 150}(前半の状態)
{480, 150}
{150,480}
正解
ウ.{480, 150}

両端への追加・削除を順に追うと、260 は popFront で、370 は popBack で除かれ、残るのは 150 と先頭に追加された 480 である。先頭→末尾で {480, 150} となるため ウが正しい。

?選択肢ごとの解説

ア ×popBack で除いたはずの 370 を残し、150 を落とした誤りで、末尾削除の対象を取り違えている。
イ ×操作前半の状態 {260,150} を答えた誤りで、後半の popFront・pushFront・popBack を反映していない。
ウ ○両端への追加・削除を順に追うと、260 は popFront で、370 は popBack で除かれ、残るのは 150 と先頭に追加された 480 である。先頭→末尾で {480, 150} となるため ウが正しい。
エ ×要素 {480,150} は正しいが先頭と末尾の並びを逆にした、両端の向きを取り違えた誤りである。
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

基本情報技術者試験は全4,036問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 基本情報技術者試験 過去問 · fe-b-algo-0102

【基本情報技術者試験】両端キュー(デック)dq…|正解「{480, 150}」|ukamiru 過去問