티스토리 뷰

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

 

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

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

programmers.co.kr

 

유저들의 id_list가 있고, 이 유저들의 신고한 내역인 report가 주어집니다.

report를 기반으로 딕셔너리에 신고당한 유저 : 신고한 유저 형태로 저장한다음 신고한 유저의 수가 k가 넘는 신고당한 유저를 신고한 유저를 기준으로 다시한번 메일을 수신하는 딕셔너리에 넣어줍니다.

그리고 마지막에 id_list 순서대로 for문을 돌며 result값을 뽑아냅니다.

 

# https://programmers.co.kr/learn/courses/30/lessons/92334
# 신고 결과 받기.py

def solution(id_list, report, k):
    answer = []
    mail_dict = {}
    dic = {}
    for i in report:
        i = i.split()
        if i[1] in dic:
            dic[i[1]].append(i[0])
        else:
            dic[i[1]] = [i[0]]
    for key, val in dic.items():
        val = list(set(val))
        if len(val) >= k:
            for user in val:
                if user in mail_dict:
                    mail_dict[user].append(key)
                else:
                    mail_dict[user] = [key]
    for i in id_list:
        answer.append(len(mail_dict[i]) if i in mail_dict else 0)
    return answer
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함