-
[2022 KAKAO BLIND RECRUITMENT] 신고 결과 받기알고리즘/프로그래머스 2022. 6. 24. 01:30
https://programmers.co.kr/learn/courses/30/lessons/92334
풀긴 풀었는데, 효율성이 좋을지는 모르겠다.
유저 : (신고한 유저목록) 과 같은 자료구조를 만들고 , 게시판 이용이 정지되는 유저목록을 구해서
교집합 연산 후에 개수를 세서 발송해야하는 메일 개수를 구하면된다.
from collections import defaultdict def solution(id_list, report, k): result, ban_id = [], [] users, reported = dict(), dict() for i in id_list: users[i] = set() reported[i] = 0 for r in set(report): r1, r2 = r.split(' ') #신고자/피신고자 reported[r2] += 1 users[r1].add(r2) if reported[r2] >= k: ban_id.append(r2) for u in users: result.append(len(set(users[u]) & set(ban_id))) return result
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[2022 KAKAO BLIND RECRUITMENT] 주차 요금 계산 (0) 2022.08.24 [2022 KAKAO BLIND RECRUITMENT] k진수에서 소수 개수 구하기 (0) 2022.06.24 [DP] 정수 삼각형 (0) 2022.06.23 [깊이/너비 우선 탐색(DFS/BFS)] 네트워크 (0) 2021.11.11 깊이/너비 우선 탐색(DFS/BFS) 타겟 넘버 (0) 2021.11.11