プログラマー[レベル1]レポート結果の取得-JavaScript


問題の説明




質問リンク


プログラマ[レベル1]レポート結果の取得

方法


(key,value)形式の質問にアクセスします.
1. id_list.mapでuserListをkeyとvalueとして作成します.
=>userListは、通報された人をkeyrovalueに格納します.
2. report.mapでレポートから受信した文字列を分割し、加工可能な材料に置き換えます.
=>user id,report idはそれぞれ申告者と被申告者を分類する
3.「1人のプレイヤーは複数回申告できますが、同じプレイヤーに対する申告回数は1回に処理されます.」解決の条件
=>userList[通報された人]では条件式が作成され、通報された人とは異なります.
4.userList(被申告者)の長さがk以上の値である場合、->このuserList[key]の値はobjectタイプであるため、for文またはmapをidリストとして使用する.indexOf()を使用して、答えインデックスに値を追加します.

コード#コード#

function solution(id_list, report, k) {
    const answer = new Array(id_list.length).fill(0);
    let userList = [];
    id_list.map((value)=>{
        userList[value]= [];
    })
    report.map(value=>{
        const [user_id,report_id]=value.split(' ');
        if(!userList[report_id].includes(user_id))userList[report_id].push(user_id);
    })
    for(const key in userList){
        if(userList[key].length>=k){
            userList[key].map(v=>{
                answer[id_list.indexOf(v)]++;
            })
        }
    }
    return answer;
}