本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

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

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

問題

次のスタック操作を実行したとき,最後にスタックの一番上にある値はどれか。

push(4)
push(7)
push(2)
x ← pop()
y ← pop()
push(y - x)
push(3)
x ← pop()
y ← pop()
push(y × x)
x ← pop()
y ← pop()
push(x - y)
return top()
  1. 9
  2. 10
  3. 11
  4. 12
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.x 科目B範囲

正解と解説

正解:11

正解:11

スタックは後入れ先出し。最初に2と7を取り出して7-2=5を積む。次に3と5を取り出して5×3=15を積む。最後に15と4を取り出して15-4=11を積む。

引き算ではpopした順序を取り違えると別の値になる。

Hardでの確認点:スタックでは最後に入れた値から取り出す。xとyに入る順番が式の左右に影響するため,減算や除算では特に注意する。スタックの中身を毎操作後に書くと,途中値を取り違えにくい。

追加の確認:Hard問題では、正解値だけでなく、途中の更新規則を一つずつ確認する。どの条件で変数・添字・候補集合が変わるのかを見落とすと、もっともらしい選択肢に引っかかりやすい。

この問題について

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

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

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

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

RELATED

関連問題