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

Jin Lee·2022년 4월 29일
0

프로그래머스 Lv.1

목록 보기
2/32
post-thumbnail

문제 링크
https://programmers.co.kr/learn/courses/30/lessons/92334

이 문제는 같은 신고 건수를 처리하는게 키포인트
문제에서 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다.
라는 항목을 주목해 보면 [ . . . "A신고자 B피신고자", "A신고자 B피신고자", "A신고자 B피신고자"] 형태로 주어질 경우 [ . . . "A신고자 B피신고자"]와 동일하게 처리한다는 것을 알 수 있다.
이 말은 같은 원소의 중복을 허용하지 않는다와 같은 뜻으로 생각할 수 있다. set 안에 넣어서 해결할 수 있다.

def solution(id_list, report, k):
    set_report = set(report)
    answer = [0] * (len(id_list))
    
    dict_report = {}
    for i in id_list:
        dict_report[i] = []
    
    for reporting in set_report:
        user_id, reported_id = reporting.split()
        dict_report[reported_id].append(user_id)

    for key in dict_report:
        if len(dict_report[key]) >= k:
            for i in dict_report[key]:
                answer[id_list.index(i)] = answer[id_list.index(i)] + 1
        
    return answer
profile
깃허브 : https://github.com/jinlee9270

0개의 댓글