基本情報トップに戻る
練習問題難易度: 標準2012年度

基本情報技術者 過去問練習問題 第5問

問題

四つのデータ A,B,C,D がこの順に入っているキューと空のスタックがある。手続 pop_enq,deq_push を使ってキューの中のデータを D,C,B,A の順に並べ替えるとき、deq_push の実行回数は最小で何回か。ここで、pop_enq はスタックから取り出したデータをキューに入れる操作であり、deq_push はキューから取り出したデータをスタックに入れる操作である。

選択肢

  1. 12
  2. 23
  3. 34
  4. 45

正解

2. 3

詳しい解説を見る

解説

キュー先頭の A を deq_push でスタックへ退避し、B を pop_enq できないので…と順に検討すると、A・B・C をスタックへ積んでから戻し、最後に残った D を含めて並べ替える過程で deq_push は最小 3 回で済む。先頭の D を最後にスタック経由で送る必要がないため 4 回は不要で、イ(3 回)が正しい。(出典: 平成24年度 秋期 基本情報技術者試験 午前 問5)

一問一答

科目A 180問+科目B 60問

練習問題の関連問題

この調子で演習を続けよう

スキマ資格では基本情報の全2398問を分野別・難易度別に体系的に学習できます。基本情報技術者は科目A(広く浅く)と科目B(プログラミング・アルゴリズム)の両輪での対策が必要です。