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

ITパスポート試験関数 convert は,整数型の配列を一定のルールで文字列に変換するプログラムである。関数 convert…

テクノロジ系アルゴリズムとプログラミング計算問題難易度: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パスポート試験は全2,669問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。

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

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

【ITパスポート試験】関数 convert は,整数型の配列を一定のルールで文字列…|正解「{1,1,2,1,0}」|ukamiru 過去問