신고 결과 받기

Level
1
문제 진행 상태
코드 완료
해설 완료
알고리즘 & 자료구조
해시
정답률 (%)
37
태그
2022 KAKAO BLIND RECRUITMENT

문제 링크

풀이 과정

본 문제는 코드 블록을 통해 풀이를 제시하였습니다.

전체 코드

from collections import defaultdict def solution(id_list, report, k): ''' 1. 각 유저 별 신고 당한 횟수를 저장 2. 각 유저 별 신고를 한 id를 저장 - 동일한 유저에 대한 신고 횟수는 1회로 처리 -> Set 자료구조 활용! 3. 정지 기준 횟수와 비교 후 정답 산출 ''' answer = [0 for _ in range(len(id_list))] # 각 유저 별 신고 당한 횟수 reported_dict = {id: 0 for id in id_list} # 각 유저 별 신고를 한 id 목록 report_dict = {id: set([]) for id in id_list} for report_info in report: users_info = report_info.split(' ') reporter = users_info[0] reported_user = users_info[-1] # A 유저가 B 유저를 최초로 신고한 경우에만 신고 횟수를 갱신 if reported_user not in report_dict[reporter]: report_dict[reporter].add(reported_user) reported_dict[reported_user] += 1 for user_idx, user in enumerate(id_list): for reported_user in report_dict[user]: if reported_dict[reported_user] >= k: answer[user_idx] += 1 return answer
Python
복사