title: "[프로그래머스] 신고 결과 받기 Python 파이썬 해설 (Level 1) - 이도훈"
cleanUrl: "programmers/92334"
description: "프로그래머스 Level 1 문제 [신고 결과 받기]의 풀이를 정리합니다."

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

from collections import Counter, defaultdict

def solution(id_list, report, k):
    counter = Counter()
    reporters = defaultdict(set)
    
    for token in report:
        src, dst = token.split()
        if src not in reporters[dst]:
            reporters[dst].add(src)
            counter[dst] += 1
    
    mail_counter = Counter()
    for user, cnt in counter.items():
        if cnt >= k:
            mail_counter += Counter(reporters[user])
    
    answer = [mail_counter[user] for user in id_list]
    return answer

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges