次のプログラム中の [a] と [b] に入れる正しい答えの組合せを,解答群の中から選べ。…
科目B アルゴリズムとプログラミング 科目B 問5
次のプログラム中の [a] と [b] に入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は1 から始まる。一つの要素だけが1 で他の要素が0 であるような整数型の配列による表現を,本問ではOne-Hot 表現という。関数oneHotEncoding は,図のように,色の名前が格納されている要素数1 以上の文字列型の配列を引数として受け取り,配列に含まれる色の名前(図の例では3 種類)に基づいて,各要素をOne-Hot 表現に変換し,整数型配列の配列に格納して返す。関数oneHotEncoding における変換の例を図に示す。引数の例: {"Red", "Green", "Blue", "Red"}↓"Red"のOne-Hot 表現 : {1, 0, 0}"Green"のOne-Hot 表現: {0, 1, 0}"Blue"のOne-Hot 表現 : {0, 0, 1}↓引数の例に対応する戻り値: {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 0, 0}}図 関数oneHotEncoding における変換の例
正答 イ
正答は イ。a:colors[i]の値、b:colors[j] が colorVector[k] と等しい です。
プログラムは二つの段階に分かれます。
名前一覧の作成:colors から、まだ colorVector に無い色の名前
だけを末尾に追加し、重複の無い色の一覧を作る(a)
One-Hot 表現への変換:colors の各要素(j)について、一覧の
各色(k)と比べ、同じ色の位置だけ 1、ほかは 0 にする(b)
【トレース(イの場合、引数 {"Red", "Green", "Blue", "Red"})】
解説の続きをみる続きを閉じる
名前一覧の作成
i = 1:"Red" は無い → 追加 → {"Red"}
i = 2:"Green" は無い → 追加 → {"Red", "Green"}
i = 3:"Blue" は無い → 追加 → {"Red", "Green", "Blue"}
i = 4:"Red" は既にある → 追加しない
One-Hot 表現への変換
j = 1("Red"):k = 1 は等しい → 1、k = 2・3 は 0 → {1, 0, 0}
j = 2("Green"):k = 2 だけ等しい → {0, 1, 0}
j = 3("Blue"):k = 3 だけ等しい → {0, 0, 1}
j = 4("Red"):→ {1, 0, 0}
戻り値 {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}, {1, 0, 0}} は図と一致します。
【ほかの選択肢】
ア a:colors[i]の値、b:colors の要素のいずれかに colorVector[k]の値 が格納されている
誤り→ 一覧の色はどれも colors から取ったものなので、b は常に真。
すべての要素が {1, 1, 1} になる
ウ a:未定義の値、b:colors の要素のいずれかに colorVector[k]の値 が格納されている
誤り→ 一覧に色の名前が入らず、未定義の値が 4 つ並ぶ。
未定義の値は colors に無いので b は常に偽になり、戻り値は {0, 0, 0, 0} が 4 つ並んだ配列になる
エ a:未定義の値、b:colors[j] が colorVector[k] と等しい 誤り
→ 一覧が未定義の値ばかりで、どの色とも等しくならない。
戻り値は {0, 0, 0, 0} が 4 つ並んだ配列になり、One-Hot 表現にならない
【ポイント】
One-Hot 表現では、配列の要素数は「色の種類の数」(重複を除いた数)、1 の位置は「その色が一覧の何番目か」で決まります。
出典:令和8年度 基本情報技術者試験 科目B 公開問題 問5(独立行政法人情報処理推進機構)出典元ページ
最終更新日
「科目B アルゴリズムとプログラミング」のほかの問題
- 2024年度(令和6年度)公開問題 科目B 問5次のプログラム中の [a] ~ [c] に入れる正しい答えの組合せを,解答群の中から選べ
- 2025年度(令和7年度)公開問題 科目B 問1次のプログラム中の [a] と [b] に入れる正しい答えの組合せを,解答群の中から選べ
- 2025年度(令和7年度)公開問題 科目B 問2次のプログラム中の [ ] に入れる正しい答えを,解答群の中から選べ。
- 2025年度(令和7年度)公開問題 科目B 問3次のプログラム中の [a] と [b] に入れる正しい答えの組合せを,解答群の中から選べ
- 2025年度(令和7年度)公開問題 科目B 問4次の記述中の [ ] に入れる正しい答えを,解答群の中から選べ。
- 2025年度(令和7年度)公開問題 科目B 問5次の記述中の [a] と [b] に入れる正しい答えの組合せを,解答群の中から選べ。
スポンサーリンク





