アルゴリズムとプログラミング
ITパスポート試験|下から上へ品物を積み上げて,上にある品物から順に取り出す装置がある(次の図のように,PUSHで一番上に積み,PO…
下から上へ品物を積み上げて,上にある品物から順に取り出す装置がある(次の図のように,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にな…
アルゴリズムとプログラミングの他の問題
複数のデータが格納されているスタックからのデータの取出し方として,適切なものはどれか先入れ先出し(First-In First-Out,FIFO)処理を行うのに適したキューと呼ばれるデータ構造に対して"8",…大文字の英字から成る文字列の暗号化を考える。英字と文字番号の対応は次のとおりである(A=0, B=1, C=2, D=3,…関数 checkDigit は,10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列…次の流れ図で示す処理を終了したとき,xの値はどれか。 〔流れ図〕 1. 開始 2. x を 98 とする 3. y を…手続 printArray は,配列 integerArray の要素を並べ替えて出力する。手続 printArray…関数 sigma は,正の整数を引数 max で受け取り,1から max までの整数の総和を戻り値とする。プログラム中の…配列に格納されているデータを探索するときの,探索アルゴリズムに関する
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
ITパスポート試験は全2,669問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 最終更新 2026-08-15 · ITパスポート試験 過去問 · itpass-r1a-q62
