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에 추가합니다.
'코딩테스트 > 2022 KAKAO BLIND RECRUITMENT' 카테고리의 다른 글
2022 카카오 코딩테스트 lv.3 파괴되지 않은 건물 파이썬 (0) | 2022.02.02 |
---|---|
2022 카카오 코딩테스트 lv.3 양과 늑대 파이썬 (0) | 2022.02.01 |
2022 카카오 코딩테스트 lv.2 양궁대회 파이썬 (0) | 2022.02.01 |
2022 카카오 코딩테스트 lv.2 주차 요금 계산 파이썬 (0) | 2022.01.31 |
2022 카카오 코딩테스트 lv.2 k진수에서 소수 개수 구하기 파이썬 (0) | 2022.01.30 |