def solution(id_list, report, k):
    answer = []
    id_dict = {x:[] for x in id_list}
    reported_id = {x:0 for x in id_list}
    report = set(report)

    for id in report:
        id = id.split()
        reported_id[id[1]] += 1
        id_dict[id[0]].append(id[1])
        
    for id in id_list:
        cnt = 0
        for reportid in id_dict[id]:
            if reported_id[reportid] >= k:
                cnt += 1
        answer.append(cnt)
        
    return answer

중복 제거를 위해 report 리스트를 set으로 바꿔줍니다.

id_dict[신고자] = [신고당한 사람들]

각 신고당한 사람들을 검사해서 만약 k번이상 신고당했다면, cnt에 1을 더해줍니다. 최종 결과값을 answer에 추가합니다. 

+ Recent posts