関数 convert は、整数型の配列を一定のルールで文字列に変換するプログラムである。関数 convert を convert (array Input)として呼び出したときの戻り値が“AABAB”になる引数 array Input の値はどれか。ここで、 arrayInput の要素数は1以上とし、配列の要素番号は1から始まる。

- ア. {0, 0, 1, 2, 1}
- イ. {0, 1, 2, 1, 1}
- ウ. {1, 0, 1, 2, 0}
- エ. {1, 1, 2, 1, 0}
【答え】エ
【解説】
処理内容の確認
- i = 1 から配列の最後までループ。
- arrayInput[i] == 1 の場合 → stringOutput に “A” を追加
それ以外の場合 → “B” を追加 - 最終的に stringOutput を返す
各選択肢の検証
ア. {0, 0, 1, 2, 1}
i | arrayInput[i] | 出力文字 |
---|---|---|
1 | 0(≠1) | B |
2 | 0(≠1) | B |
3 | 1 | A |
4 | 2(≠1) | B |
5 | 1 | A |
→ 結果: BBABA ❌
イ. {0, 1, 2, 1, 1}
i | arrayInput[i] | 出力文字 |
---|---|---|
1 | 0(≠1) | B |
2 | 1 | A |
3 | 2(≠1) | B |
4 | 1 | A |
5 | 1 | A |
→結果: BABAA ❌
ウ. {1, 0, 1, 2, 0}
i | arrayInput[i] | 出力文字 |
---|---|---|
1 | 1 | A |
2 | 0(≠1) | B |
3 | 1 | A |
4 | 2(≠1) | B |
5 | 0(≠1) | B |
→結果: ABABB ❌
エ. {1, 1, 2, 1, 0}
i | arrayInput[i] | 出力文字 |
---|---|---|
1 | 1 | A |
2 | 1 | A |
3 | 2(≠1) | B |
4 | 1 | A |
5 | 0(≠1) | B |
→結果: AABAB ⭕
以上より、正解はエ.となります。

※処理内容が分かってしまえば難しい問題ではありませんが、苦手な人はあまり時間をかけずに他の問題に移りましょう。