本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

基本情報技術者の問題解説

データ構造及びアルゴリズム 難しい fe_b_v90_alg_trace_096

問題

次の手続 queueScore() を実行したときの戻り値はどれか。

○整数型: queueScore()
  キュー q ← 空
  整数型: x, y
  enqueue(q, 4)
  enqueue(q, 1)
  x ← dequeue(q)
  enqueue(q, x + 2)
  enqueue(q, 3)
  y ← dequeue(q)
  enqueue(q, y + x)
  return dequeue(q) + dequeue(q)
  1. 8
  2. 9
  3. 10
  4. 11
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲

正解と解説

正解:9

正解:9

キューは先入れ先出し。4,1を入れた後、x=4を取り出し、6を末尾に入れる。さらに3を入れると {1,6,3}。次にy=1を取り出し、y+x=5を末尾に入れるので {6,3,5}。最後の2回のdequeueは6と3で、戻り値は9。

10は6と4を足したような途中値、11は6と5を足してしまった場合に出やすい。8はx+2の6を正しく末尾に置けていない。

キューではenqueueは末尾、dequeueは先頭。途中で取り出したx,yを使って新しい値を入れるので、キューの並びを毎回書く。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲

公開問題・サンプル問題の形式、擬似言語記法、アルゴリズム読解・トレース・空欄補充・セキュリティ事例判断の傾向を参考にした独自問題です。本文・数値・選択肢は新規作成しています。

公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。

参考範囲: 2026年度現行科目B・シラバスVer.9.x参考

RELATED

関連問題