유자차의 재테크 공부방

[프로그래머스 : python3] 신고 결과 받기 본문

파이썬/알고리즘 문제 풀이

[프로그래머스 : python3] 신고 결과 받기

유자차H 2022. 2. 21. 18:37
반응형

Lv1. 2022 KAKAO BLIND RECRUITMENT - 신고 결과 받기

 def solution(id_list, report, k):
     # 중복 신고 제외
     report_set = list(set(report))

     ids = []
     for name in id_list:
         ids.append([name])

     # id별 신고 당한 횟수 구하기
     for user_bad in report_set:
         user, bad = user_bad.split(' ')
         idx = id_list.index(bad)
         ids[idx].append(user)

     # 신고 처리 결과 메일 받는 횟수 구하기
     ans = [0]*len(id_list)
     for names in ids:
         if len(names)-1 >= k: # 이용정지 당한 아이디
             for name in names[1:]:
                 ans[id_list.index(name)] += 1

     return ans

좀 더 간단히

def solution(id_list, report, k):
    answer = [0] * len(id_list)    
    reports = {x : 0 for x in id_list}

    for r in set(report):
        reports[r.split()[1]] += 1

    for r in set(report):
        print(r)
        if reports[r.split()[1]] >= k:
            answer[id_list.index(r.split()[0])] += 1
        print(answer)

    return answer
반응형
Comments