https://programmers.co.kr/learn/courses/30/lessons/92334?language=python3

2022 KAKAO BLIND RECRUMENT  기출


def solution(id_list, report, k):
    answer = []
    # id_list : 사용자 이름 
    # report  : 신고자 신고당한사람 
    result=dict()
    id_order=dict()
    for i, id in enumerate(id_list): #initialization
        result[id] = dict()
        result[id]['num']=0
        result[id]['reporter']=[]
        id_order[id]=i
        answer.append(0)
        
    for line in report: #data-ordering
        keys = list(result.keys())
        s, t = line.split(" ")
        exist_reporters = list(result[t]['reporter'])
        if s not in exist_reporters:
            result[t]['reporter'].append(s)
            result[t]['num'] +=1

    for i,id in enumerate(id_list):
        if result[id]['num']>=k:
            for reporter in result[id]['reporter']:
                answer[id_order[reporter]]+=1
    return answer

 

딕셔너리를 쓰면 간단히 해결되는 문제이다.

근데 다른사람 문제 푼걸 보면 현타온다.. 

 

나는 중복 지울때 다 검사했지만, set 매서드를 쓰면 그냥 해결된다라는것을 생각 못했다!! 

set메서드도 활용할 수 있도록 해야한다. 

최대한, 파이썬3의 내장 함수를 활용할 수 있도록 해야한다.

외부 라이브러리를 사용하지 못하기 때문이다.  

앞으로 코테풀면서 자주 나오는 활용 법들을 정리할 예정이다. 

 

 

+ Recent posts