ITパスポート試験 過去問解説

スタックとは?ITパスポート試験 2019年 (令和1年 秋期) 問62を解説

ITパスポート試験 2019年 (令和1年 秋期) 問62は、スタックに関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。

問題文

下から上へ品物を積み上げて,上にある品物から順に取り出す装置がある。この装置に対する操作は,次の二つに限られる。 PUSH x:品物xを1個積み上げる。 POP : 一番上の品物を1個取り出す。 最初は何も積まれていない状態から開始して,a,b,cの順で三つの品物が到着する。一つの装置だけを使った場合,POP操作で取り出される品物の順番としてあり得ないものはどれか。

この問題の出題ポイント

  • スタックの定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
  • テクノロジ系分野では、用語の目的・主体・責任範囲の違いが選択肢で問われやすい。
  • 関連タグ: アルゴリズムとプログラミング、スタック。

選択肢

  1. アa, b, c
  2. イb, a, c
  3. ウc, a, b正解
  4. エc, b, a

正解

ウ: c, a, b

解説

この装置は、最後に積んだものを最初に取り出す後入れ先出し(LIFO)のスタックである。a、b、cの順に到着するため、積む順は必ずa、b、cになる。cを最初に取り出す場合、その時点で積まれているのはa、b、cで、cの次に取り出せるのは上にあるbである。したがって、c、a、bの順は実現できない。

なぜ他の選択肢が違うのか

  • ア

    aを積んですぐ取り出し、bとcも同様にすれば、この順に取り出せる。

  • イ

    aとbを積んでbを取り出し、続けてaを取り出し、その後にcを積んで取り出せば、この順になる。

  • ウ(正解)

    正しい。これがあり得ない順番である。cを最初に取り出すとき、bはaの上に積まれており、次に取り出せるのはbである。aを先に取り出すことはできない。

  • エ

    a、b、cを全て積んでから順に取り出せば、逆順のc、b、aになる。

解き方の整理

スタックの問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。

関連用語

関連問題

前後の問題

2019年 (令和1年 秋期) の関連する問題

復習を続ける

間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。