令和6年度 問62
配列を文字列に変換する関数
出典: 令和6年度 ITパスポート試験 公開問題 問62 (IPA)
関数 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}
正解と解説を見る
正解: エ
- ア: BBABA になります。
- イ: BABAA になります。
- ウ: ABABB になります。
- エ: 1, 1, 2, 1, 0 の順に A, A, B, A, B となり、AABAB と一致します。正しい答えです。
ポイント
関数 convert は、配列の要素を先頭から順に見て、1 なら "A"、1 以外なら "B" を文字列の末尾に追加します。
求める戻り値 "AABAB" は、要素が順に 1, 1, 1以外, 1, 1以外 のとき得られます。
| 選択肢 | 変換結果 |
|---|---|
| ア {0,0,1,2,1} | B B A B A |
| イ {0,1,2,1,1} | B A B A A |
| ウ {1,0,1,2,0} | A B A B B |
| エ {1,1,2,1,0} | A A B A B |
広告
「アルゴリズムとプログラミング」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)
広告