プログラマー[レベル1]レポート結果の取得-JavaScript
1433 ワード
問題の説明
質問リンク
プログラマ[レベル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;
}
Reference
この問題について(プログラマー[レベル1]レポート結果の取得-JavaScript), 我々は、より多くの情報をここで見つけました https://velog.io/@shrup5/프로그래머스Level1-신고-결과-받기-JavaScriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol