reportMap에 신고 당한 사람을 key로 신고한 사람들을 set으로 값을 저장해준다.
set으로 저장하는 이유는 여러번 신고한 것을 무시하기 위함이다.
function solution(id_list, report, k) {
var answer = [];
var reportMap = new Map();
let mailCntMap = new Map();
id_list.forEach(id =>{
reportMap.set(id, new Set());
mailCntMap.set(id, 0);
});
report.forEach(line => {
let spt = line.split(" ");
let reporter = spt[0];
let reportee = spt[1];
reportMap.get(reportee).add(reporter);
});
id_list.forEach(id => {
let set = reportMap.get(id);
if(set.size >= k){
set.forEach(id => {
mailCntMap.set(id, (mailCntMap.get(id) + 1));
})
}
});
id_list.forEach(id => {
answer.push(mailCntMap.get(id));
})
return answer;
}
반응형
'Algorithm' 카테고리의 다른 글
2022 KAKAO 블라인드 채용 - 주차 요금 계산 (Java 풀이) (0) | 2022.03.08 |
---|