프로그래머스 신고 결과 받기 파이썬

안상철·2023년 5월 8일
0

문제링크

def solution(id_list, report, k):

	# 답과 신고당한 사람 목록:횟수를 딕셔너리로 초기화
    
    answer = {a: 0 for a in id_list}
    reported = {r: 0 for r in id_list}
    
    # 중복신고는 1회로 처리하므로, set으로 중복을 제거한 반복
    for i in set(report):
    
    	# a, b는 각각 신고한사람, 신고당한 사람
        a,b = i.split()
        
        # 신고당한 사람의 딕셔너리에 횟수를 추가함
        reported[b] += 1
        
    # 중복신고는 1회로 처리하므로, set으로 중복을 제거한 반복
    for i in set(report):
    
    	# a, b는 각각 신고한사람, 신고당한 사람
        a,b = i.split()
        
        # 만약 신고당한 횟수가 정지먹을 만큼의 횟수만큼 이상이라면
        if reported[b] >= k:
        
        	# 답 딕셔너리에 있는 사람에게 메일을 한 개 보냄
            answer[a] += 1
            
    # 답 딕셔너리의 values만 list로 출력
    return list(answer.values())
profile
웹 개발자(FE / BE) anna입니다.

0개의 댓글