programmers | Lv1. 신고 결과 받기 [Python]

yeonk·2022년 3월 13일
0

algorithm

목록 보기
62/88
post-thumbnail

💡 Python 3






🔗 문제

신고 결과 받기 [Link]






💻 코드

def solution(id_list, report, k):
    from collections import Counter
    result = [0] * len(id_list)
    u = []
    check = {}
    for r in set(report):
        x, y = r.split()
        u.append(y)
        if y not in check.keys():
            check[y] = [x]
        else:
            check[y].append(x)
            
    
    for key, value in Counter(u).items():
        if value >= k:
            for i in check[key]:
                result[id_list.index(i)] += 1
    return result






💥 다른 사람 코드

푸는 과정은 내가 생각한 것과 비슷한데 훨씬 간결하고 보기 좋게 푸셨다.
나도 요렇게 풀고 싶었는데. .ㅎㅎ 열심히 공부해야지..^^..

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):
        if reports[r.split()[1]] >= k:
            answer[id_list.index(r.split()[0])] += 1

    return answer

0개의 댓글