※本情報は解説作成時点のもので、閲覧時点では法改正等により情報が変更になっている場合がございます。あらかじめご理解いただければ幸いです。
正解は「A.arrayM[i] B.arrayK[i] C.ordersの要素数」です。
arrayMは同時購入回数Mxy、arrayKは各商品の購入回数Ky、Cには全注文数が入ります。
この記事では、基本情報技術者試験(FE)試験(令和6年度)科目Bで出題された第5問「関連度Lxyの計算」について、試験対策の観点からわかりやすく解説します。
関連度Lxyの式
Lxy=(Mxy × 全注文数) ÷ (Kx × Ky)
- Mxy:商品xとyを同時に購入した注文数
- Kx:商品xが購入された注文数
- Ky:商品yが購入された注文数
- 全注文数:ordersの要素数
AとBの役割
内側のfor文では、otherItems[i]について次の2種類を数えています。
- itemとotherItems[i]が同時に含まれる回数 → Mxy
- otherItems[i]が含まれる回数 → Ky
よって、
- A:同時購入回数なので arrayM[i]
- B:単独購入回数なので arrayK[i]
Cに入る値
式は Mxy × 全注文数 ÷ (Kx × Ky) です。
全注文数は orders に含まれる注文の数、つまり ordersの要素数です。
問われているポイント
この問題では、与えられた数式とプログラム中の変数の対応関係を正確に読み取れるかが問われています。
「何を数えている配列か」を整理することが重要です。
気を付けてほしい点(勘違いしやすいポイント)
- MとKの意味を混同しない
- 分子と分母の対応を式と照合する
- 全注文数=ordersの要素数
補足
データ分析系アルゴリズムは、変数の意味を正確に追うことが得点の鍵です。
基本情報技術者試験(FE)試験での出題パターン
基本情報技術者試験(FE)試験では、配列処理・集計処理・式の実装対応問題が頻出です。
数式とプログラムを結び付けて理解する力が求められます。
この知識が使われている問題
まとめ
- A=arrayM[i](同時購入回数)
- B=arrayK[i](購入回数)
- C=ordersの要素数(全注文数)