문제 : Programmers 신고 결과 받기 Link
입출력 예시
from collections import defaultdict
def solution(id_list, report, k):
result = {x: 0 for x in id_list} # 결과 result 와 같이 출력하기 위한 dict()
user_dict = defaultdict(list)
report = list(set(report)) # 신고 대상에 한 사람의 신고자만 유효함, 중복 제거를 위해 set()
report_list = [x.split() for x in report] # ex) [["ryan","con"]]]
# 위 두 줄 대신 #
# report_list = [x.split() for x in list(set(report))]
for reporter, be_re in report_list:
user_dict[be_re] += reporter.split()
# 신고 대상이 key 값으로 와 신고자를 values로 세기 위함
# defaultdict() 자료형을 이용, list로 초기화 하여 초기값이 없어도 += 연산 가능
for cnt in user_dict.values():
if len(cnt) >= k:
for i in cnt:
result[i] += 1
return list(result.values())