Obj를 이용하여, 신고받은 사람 : [신고한 사람]을 배열로 저장하고, 신고받은 사람의 신고한사람 배열의 길이가 k가 넘어가면, people[신고한 사람] 에 값을 1 증가 시켜 해당 문제를 해결하자.
function solution(id_list, report, k) {
var answer = [];
let newReport = new Set(report);
let newReports = [...newReport];
let bannedList = {};
let people = {};
id_list.map((data)=>{
people[data] = 0;
})
newReports.map((data,idx)=>{
let splited = data.split(' ');
if(bannedList[splited[1]] == undefined){
bannedList[splited[1]] = [splited[0]];
}else{
bannedList[splited[1]] = [...bannedList[splited[1]], splited[0]]
}
})
for(var i =0; i<id_list.length; i++){
let key = id_list[i];
if(bannedList[key] != undefined){
if(bannedList[key].length >= k ){
let arr = bannedList[key];
arr.map((d)=>{
people[d]++;
})
}
}
}
return answer = Object.values(people)
}
생각보다 쉽게 풀 수 있었던 문제이다. obj를 사용하여 신고횟수를 생각하는게 조금 어려웠지만, 10분내로 풀었다.