基本情報技術者試験過去問 令和8年度(2026年)科目B問5
次のプログラム中のaとbに入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は1から始まる。
一つの要素だけが1で他の要素が0であるような整数型の配列による表現を,本問ではOne-Hot表現という。関数oneHotEncodingは,図のように,色の名前が格納されている要素数1以上の文字列型の配列を引数として受け取り,配列に含まれる色の名前(図の例では3種類)に基づいて,各要素をOne-Hot表現に変換し,整数型配列の配列に格納して返す。関数oneHotEncodingにおける変換の例を図に示す。

〔プログラム〕
○整数型配列の配列: oneHotEncoding(文字列型の配列: colors)
整数型: i, j, k
文字列型の配列: colorVector ← {} // 要素数0の配列
整数型の配列: tempVector
整数型配列の配列: oneHotVector ← {} // 要素数0の配列
/* 名前一覧の作成 */
for (iを1からcolorsの要素数まで1ずつ増やす)
if (colorVectorの要素のいずれにもcolors[i]の値が格納されていない)
colorVectorの末尾にaを追加する
endif
endfor
/* One-Hot表現への変換 */
for (jを1からcolorsの要素数まで1ずつ増やす)
tempVector ← {} // 要素数0の配列
for (kを1からcolorVectorの要素数まで1ずつ増やす)
if (b)
tempVectorの末尾に1を追加する
else
tempVectorの末尾に0を追加する
endif
endfor
oneHotVectorの末尾にtempVectorを追加する
endfor
return oneHotVector

選択肢
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
- ア:不正解
- イ:正解
- ウ:不正解
- エ:不正解