신고 결과 받기

hapwoo·2022년 8월 10일
0

Coding test

목록 보기
2/18

https://school.programmers.co.kr/learn/courses/30/lessons/92334

function solution(id_list, report, k) {
    const reporterDict = {}
    const reportedDict = {}
    
    const stoppedId = new Set()
    id_list.map(id=>{
        reporterDict[id] = new Set()
        reportedDict[id] = new Set()
    })
    report.map(item=>{
        const reporter = item.split(" ")[0]
        const reported = item.split(" ")[1]
        reporterDict[reporter].add(reported)
        reportedDict[reported].add(reporter)
    })
    id_list.map(id=>{
        if (reportedDict[id].size>=k) {
            stoppedId.add(id)
        }
    })
    return id_list.map(id=>new Set([...reporterDict[id]].filter(x => stoppedId.has(x))).size)
}
function solution(id_list, report, k) {
    let reports = [...new Set(report)].map(a=>{return a.split(' ')});
    let counts = new Map();
    for (const bad of reports){
        counts.set(bad[1],counts.get(bad[1])+1||1)
    }
    let good = new Map();
    for(const report of reports){
        if(counts.get(report[1])>=k){
            good.set(report[0],good.get(report[0])+1||1)
        }
    }
    let answer = id_list.map(a=>good.get(a)||0)
    return answer;
}
profile
프론트 개발자

0개의 댓글