def solution(id_list, report, k):
answer = [0] * len(id_list) # 각 유저별로 처리 결과 메일을 받은 횟수를 담는 배열
report = set(report) # 핵심: 유저가 중복 신고한 리포트를 제거
id_idx = {id: idx for idx, id in enumerate(id_list)} # answer 배열에 각 유저 별 인덱스에 해당하는 자리를 구분하기 위한 딕셔너리
reported_counts = {id: 0 for id in id_list} # 각 유저별로 신고당한 횟수를 담은 딕셔너리
for r in report:
_, reported = r.split()
reported_counts[reported] += 1 # 신고 카운트
for r in report:
reporter, reported = r.split()
if reported_counts[reported] >= k: # k에 대한 문제 조건을 만족하는 경우
answer[id_idx[reporter]] += 1 # answer 배열에 카운트
return answer