[알고리즘/프로그래머스] KAKAO - 신고 결과 받기(python)

유현민·2022년 5월 9일
0

알고리즘

목록 보기
177/253


딕셔너리 한개로 풀었다.
딕셔너리를 이름 : [0]으로 초기화 시켜준다.
맨 앞 숫자는 신고를 당한 횟수이다. 뒤에 신고한 사람의 이름을 넣어준다.

처음 for문으로 딕셔너리를 [0]으로 만들어 준다.

두번째 for문으로 신고당한 횟수, 신고한 사람의 이름을 넣어준다.

세번째 for문으로 자기가 신고한 사람의 이름을 받아서 해당 사람의 딕셔너리로 가서 몇번 신고당했는지 체크한다.

def solution(id_list, report, k):
    answer = []
    report = list(set(report))
    res = {}

    for i in id_list:
        if i not in res:
            res[i] = [0]

    for j in range(len(report)):
        n = report[j].split()
        res[n[0]].append(n[1])
        res[n[1]][0] += 1

    for i in res:
        tmp = 0
        for j in res[i][1:]:
            if res[j][0] >= k:
                tmp += 1
        answer.append(tmp)
        tmp = 0
    return answer


print(solution(
    ["muzi", "frodo", "apeach", "neo"],
    ["muzi frodo", "apeach frodo",
     "frodo neo", "muzi neo", "apeach muzi"], 2))
profile
smilegate megaport infra

0개의 댓글