본문 바로가기
가이드/프로그래머스

프로그래머스 > 2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 / Python3

by 루엔_vivid 2022. 2. 21.

문제 설명

 

문제 풀이

def solution(id_list, report, k):
    answer = []

    reportDic = {} # 신고 횟수
    crimeDic = {}  # 신고 당한 횟수

    notOverlapReports = list(dict.fromkeys(report)) # 중복제거(list -> dic -> list)

    for id in id_list: # 초기화
        reportDic[id] = 0
        crimeDic[id] = 0

    for notOverlapReport in notOverlapReports: # id 별 신고 당한 횟수 저장
        sp = notOverlapReport.split()
        crimeDic[sp[1]] += 1

    for notOverlapReport in notOverlapReports:
        sp = notOverlapReport.split()
        if crimeDic[sp[1]] >= k: # 신고 당한 횟수가 k 보다 크다면
            reportDic[sp[0]] += 1 # 신고 횟수 추가

    for id in id_list:
        answer.append(reportDic[id]) # dic -> list

    return answer
반응형

댓글