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

ITパスポート試験下から上へ品物を積み上げて,上にある品物から順に取り出す装置がある(次の図のように,PUSHで一番上に積み,PO…

テクノロジ系アルゴリズムとプログラミング難易度: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 c→POP(c)→POP(b)→POP(a)。全部積んでから順に取り出せば到着順の逆順c,b,aにな…
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。

ITパスポート試験は全2,669問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。

作成・校閲:ukamiru編集部 · 最終更新 2026-08-15 · ITパスポート試験 過去問 · itpass-r1a-q62

【ITパスポート試験】下から上へ品物を積み上げて,上にある品物から順に取り出す装置…|正解「c,a,b」|ukamiru 過去問