[파이썬/python] 프로그래머스 : 신고 결과 받기 (Lv.1) (2022 KAKAO BLIND RECRUITMENT)

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

def solution(id_list, report, k):
    id_dic = {}
    report = list(set(report))
    cnt = {}
    for i in id_list:
        id_dic[i] = 0
        cnt[i] = 0
    
    for i in report:
        cnt[i.split(" ")[1]] = cnt[i.split(" ")[1]] + 1
        
    for i in report:
        if cnt[i.split(" ")[1]] >= k:
            id_dic[i.split(" ")[0]] = id_dic[i.split(" ")[0]] + 1
    
    return list(id_dic.values())

 

 

 

 

시간초과떴던답

def solution(id_list, report, k):
    id_dic = {}
    new = []
    cnt = {}
    for i in id_list:
        id_dic[i] = 0
        cnt[i] = 0
    
    for i in report:
        if i not in new:
            new.append(i)
            cnt[i.split(" ")[1]] = cnt[i.split(" ")[1]] + 1
        
    for i in new:
        if cnt[i.split(" ")[1]] >= k:
            id_dic[i.split(" ")[0]] = id_dic[i.split(" ")[0]] + 1
    
    return list(id_dic.values())

그냥 report를 set 해주는 걸로  바꿔주니까 풀렷다

 

 

comment