import pandas as pd
def solution(id_list, report, k):
answer = []
answer_dict = dict.fromkeys(id_list, 0)
bad_users = {}
bad_counts = {}
report = list(set(report))
for r in report:
reporter, bad_user = r.split()
if bad_user not in bad_users.keys():
bad_users[bad_user] = [reporter]
bad_counts[bad_user] = 1
else:
bad_users[bad_user].append(reporter)
bad_counts[bad_user] += 1
bad_users_df = pd.DataFrame(list(bad_counts.items()), columns=['bad','cnt'])
mails = bad_users_df['bad'][bad_users_df['cnt']>=k].values
for mail in mails:
reps = bad_users[mail]
for rep in reps:
answer_dict[rep] += 1
answer = list(answer_dict.values())
return answer
다른 사람 풀이
def solution(id_list, report, k):
answer = [0] * len(id_list)
reports = {x : 0 for x in id_list}
for r in set(report):
reports[r.split()[1]] += 1
for r in set(report):
if reports[r.split()[1]] >= k:
answer[id_list.index(r.split()[0])] += 1
return answer