본문 바로가기

Algorithm

신고 결과 받기 - 2022 Kakao Blind Recruitment

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;
}

 

반응형