본문 바로가기
Programming/Programmers

[프로그래머스] 신고 결과 받기 (Python)

by 데이터현 2022. 1. 19.

 

https://programmers.co.kr/learn/courses/30/lessons/92334

 

코딩테스트 연습 - 신고 결과 받기

문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의

programmers.co.kr

딕셔너리를 활용하는 문제다 뭔가 더 깔끔하게 풀 수 있을 것 같긴 하다.

 

나의 풀이

from collections import defaultdict
def solution(id_list, report, k):
    # 신고 당한 횟수 기록
    # 해당 유저 신고한 사람 기록
    # 신고 한 리스트
    report_dict = defaultdict(list)
    report_count = defaultdict(int)
    answer = []
    for rep in set(report):
        user, dic = rep.split()
        report_dict[user].append(dic)
        report_count[dic] +=1
    for id in id_list:
        recount = 0
        for user in report_dict[id]:
            if report_count[user] >= k:
                recount += 1
        answer.append(recount)
    return answer

댓글