KEEP GOING

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

code review/implementation

[python] 프로그래머스 92334번 : 신고 결과 받기

jmHan 2022. 3. 18. 14:11
반응형

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

 

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

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

programmers.co.kr

 

구현 

from collections import defaultdict

def solution(id_list, report, k):
    # 중복 제거 
    report = list(set(report))
    result = [0 for _ in range(len(id_list))]
    # 고소 당한 사람의 고소 당한 횟수 카운트 
    accused = defaultdict(int)
    for data in report:
        p = data.split()[1]
        accused[p] += 1
    # 정지당한 사람들 리스트 
    paused = [key for key, v in accused.items() if v >= k]
    # 정지당한 사람들을 고소한 사람들 횟수 증가
    for data in report:
        p1, p2 = data.split()
        if p2 in paused:
            idx = id_list.index(p1)
            result[idx] += 1
    return result
반응형
Comments