상상쓰

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

Coding Test

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

상상쓰 2022. 1. 19. 21:17

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

 

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

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

programmers.co.kr

 

작년에 풀었었는데 반가웠다.

 

set 을 사용하여 정지당한 유저를 구하고 그 유저를 신고한 인원을 차례로 확인하여 count[신고자] += 1 을 한다.

 

from collections import defaultdict

def solution(id_list, report, k):
    answer = []
    dic = defaultdict(set)
    count = defaultdict(int)
    
    for i in report:
        x, y = i.split()
        dic[y].add(x)
    
    for i in dic.keys():
        if len(dic[i]) >= k:
            for j in dic[i]:
                count[j] += 1
                    
    for i in id_list:
        answer.append(count[i]) 
        
    return answer


print(solution(['muzi', 'frodo', 'apeach', 'neo'], ['muzi frodo', 'apeach frodo', 'frodo neo', 'muzi neo', 'apeach muzi'], 2)) # [2, 1, 1, 0]
Comments