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

ITパスポート試験アルゴリズム」の問題

テクノロジ系アルゴリズムとプログラミング計算問題難易度:hard
関数 convert は,整数型の配列を一定のルールで文字列に変換するプログラムである。関数 convert を convert(arrayInput) として呼び出したときの戻り値が"AABAB"になる引数 arrayInput の値はどれか。ここで,arrayInput の要素数は1以上とし,配列の要素番号は1から始まる。 〔プログラム〕 ○文字列型: convert(整数型の配列: arrayInput) 文字列型: stringOutput ← "" 整数型: i for (i を 1 から arrayInput の要素数 まで 1 ずつ増やす) if (arrayInput[i] が 1 と等しい) stringOutput の末尾に "A" を追加する else stringOutput の末尾に "B" を追加する endif endfor return stringOutput
{0,0,1,2,1}
{0,1,2,1,1}
{1,0,1,2,0}
{1,1,2,1,0}
正解
{1,1,2,1,0}

プログラムは配列の各要素を先頭から順に見て、値が1なら"A"、1以外なら"B"を連結する。戻り値"AABAB"はA,A,B,A,Bなので、要素は順に「1,1,(1以外),1,(1以外)」でなければならない。エ{1,1,2,1,0}は1,1,2,1,0でありこの並びに一致するため正しい。

?選択肢ごとの解説

ア ×{0,0,1,2,1}は0,0,1,2,1→"BBABA"となり、"AABAB"にならない。
イ ×{0,1,2,1,1}は0,1,2,1,1→"BABAA"となり一致しない。
ウ ×{1,0,1,2,0}は1,0,1,2,0→"ABABB"となり一致しない。
エ ○プログラムは配列の各要素を先頭から順に見て、値が1なら"A"、1以外なら"B"を連結する。戻り値"AABAB"はA,A,B,A,Bなので、要素は順に「1,1,(1以外),1,(1以外)」でなければならない。エ{1,1,2,1,0}は1,1,2,1,0でありこの並びに一致するため正しい。
この問題の「深掘り・誤答の完全解説・試験のコツ・覚え方」はアプリで。

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

無料ではじめる →

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

【ITパスポート試験】アルゴリズムの問題と解答・解説|ukamiru 過去問