코딩테스트

[프로그래머스] 신고 결과 받기 - Lv.1

pyflu 2023. 8. 8. 16:50

[프로그래머스] 신고 결과 받기 Lv.1 - [파이썬/python]

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


 

 

 

 




정답 주의!!!




 

 

 

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


def solution(id_list, reports, k):
   
    user_list = {id:{"reported_me":set(),"mail":0} for id in id_list}
    #user_list = {
    #    "아이디": {
    #       "나에게 신고한 유저": set(), #중복제거를 위해 set()사용
    #       "신고 성공(mail을 받을 횟수)": 0,
    #    }
    #}
   
    for report in reports:
        report = report.split(" ")
        #report[0] 신고한 유저
        #report[1] 신고당한 유저
       
        user_list[report[1]]["reported_me"].add(report[0])
        #날 신고한 유저 추가하기
   
    for key in user_list:
    #날 신고한 유저의 수가 K값 이상이면 날 신고한 유저들의 mail값 1씩 추가하기
        if (len(user_list[key]["reported_me"]) >= k):
            for user in user_list[key]["reported_me"]:
                user_list[user]["mail"] += 1
   
    mail_values = [value["mail"] for value in user_list.values()]
    #user_list에서 "mail"값만 추출
   
    return mail_values

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

728x90