it-kakomon › ITパスポート › 令和1年度 秋期 › 問62

令和1年度 秋期 ITパスポート 問62(テクノロジ)

出典:令和元年度 秋期 ITパスポート試験 公開問題 問62(独立行政法人情報処理推進機構(IPA))

下から上へ品物を積み上げて,上にある品物から順に取り出す装置がある。この装置に対する操作は,次の二つに限られる。  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
正解と解説を見る

正解:ウ

【スタックの仕組み】

問題の装置は、下から上へ品物を積み上げ、上にある品物から順に取り出します。最後に入れたものを最初に取り出す(LIFO:Last In First Out、後入れ先出し)このようなデータ構造を、スタックといいます。

・PUSH:一番上に積む

・POP:一番上から取り出す

品物は a、b、c の順に到着するので、PUSHもこの順にしか行えません。ただし、途中でPOPを挟むことはできます。

【選択肢の検討】

ア:a、b、c の順は、PUSH a、POP(a)、PUSH b、POP(b)、PUSH c、POP(c)で取り出せます。

イ:b、a、c の順は、PUSH a、PUSH b、POP(b)、POP(a)、PUSH c、POP(c)で取り出せます。

ウ:c を最初に取り出すには、a、b、c を全て積む必要があり、そのとき上から c、b、a の順に積まれています。c の次に取り出せるのは b なので、c、a、b の順はあり得ません。

エ:c、b、a の順は、PUSH a、PUSH b、PUSH c の後に、POPを3回行えば取り出せます。

よって、正解は選択肢ウです。

まず令和8年度の100問を通しで解いてみる(無料)