프로그래머스 풀이

프로그래머스 신고 결과 받기(파이썬 풀이)

ag2개발자 2022. 2. 9. 19:38

프로그래머스에서 레벨1로 풀 수 있는 문제. 2022 kakao 블라인드 문제1번문제같은데

처음엔 막막했다. 다만 split()함수 잘 이용하면 크게 어렵진 않은 것 같다

 

 

def solution(id_list, report, k):
    report = set(list(report))    #report의 중복 없애줌
    a= []
    b=[]
    c=[]
    reported = [x.split()[1] for x in report]  #리폿 당한 애들
    for i,v in enumerate(id_list):
        if reported.count(v)>=k:    #k번 이상 리폿 당했으면
            a.append(v)     #리폿 당한 사람이름 a에 저장
    rar = [x.split() for x in report]   #리폿한 사람과 당한 사람
    for i in range(len(rar)):
        if rar[i][1] in a:
            b.append(rar[i][0])     #메일이 올 사람을 b에 저장
    for va in id_list:
        c.append(b.count(va))       #마지막으로 순서대로 몇번 메일이 갔는지 저장
    return c