アルゴリズムとプログラミング

ITパスポート試験データ構造」の問題

テクノロジ系アルゴリズムとプログラミング難易度:normal
下から上へ品物を積み上げて,上にある品物から順に取り出す装置がある(次の図のように,PUSHで一番上に積み,POPで一番上から取り出す後入れ先出しの構造)。この装置に対する操作は,次の二つに限られる。  PUSH x:品物xを1個積み上げる(一番上に置く)。  POP:一番上の品物を1個取り出す。 最初は何も積まれていない状態から開始して,a,b,cの順で三つの品物が到着する(到着した順にしかPUSHできない)。一つの装置だけを使った場合,POP操作で取り出される品物の順番としてあり得ないものはどれか。
a,b,c
b,a,c
c,a,b
c,b,a
正解
c,a,b

この装置はスタック(後入れ先出し,LIFO)。ウの"c,a,b"を作るには,cを最初に取り出す必要があるのでa,b,cを順に積んで[a,b,c]とし,POPでcを取り出す。次にaを出したいが,一番上はbなのでPOPするとbが出る。aはbより下にあり先に取り出せない。よってc,a,bの順は実現不可能で,あり得ないものはウである。

?選択肢ごとの解説

ア ×a,b,cは実現可能。PUSH a→POP(a)→PUSH b→POP(b)→PUSH c→POP(c)と1個ずつ積んでは出せば到着順そのままに取り出せる。
イ ×b,a,cは実現可能。PUSH a→PUSH b→POP(b)→POP(a)→PUSH c→POP(c)。aの上にbを積んでからbを先に出せばb,a,cとなる。
ウ ○この装置はスタック(後入れ先出し,LIFO)。ウの"c,a,b"を作るには,cを最初に取り出す必要があるのでa,b,cを順に積んで[a,b,c]とし,POPでcを取り出す。次にaを出したいが,一番上はbなのでPOPするとbが出る。aはbより下にあり先に取り出せない。よってc,a,bの順は実現不可能で,あり得ないものはウである。
エ ×c,b,aは実現可能。PUSH a→PUSH b→PUSH…
この問題の「深掘り・誤答の完全解説・試験のコツ・覚え方」はアプリで。

ITパスポート試験の全問を、一問ごとにAIの8-ways解説つきで。SRS暗記カード・全真模試・弱点診断まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · ITパスポート試験 · itpass-r1a-q62

【ITパスポート試験】データ構造の問題と解答・解説|ukamiru 過去問