def solution(id_list, report, k):
reportNumber = [0] * len(id_list)
reportId = []
answer = [0] * len(id_list)
for i in range(0, len(id_list)) :
reportId.append(set())
for i in set(report) :
first = (i.split())[0]
last = (i.split())[-1]
indexFirst = id_list.index(first)
indexLast = id_list.index(last)
reportId[indexFirst].add(last)
reportNumber[indexLast] += 1
for i in range(0, len(id_list)) :
for j in reportId[i] :
if(reportNumber[id_list.index(j)]>=k) :
answer[i] += 1
return answer
✅ list
는 set
보다 값을 찾는 데 오래 걸린다.
✅ [[]]*n
, [{}]*n
, [set()]*n
는 얕은 복사이기 때문에 모두 같은 값을 갖는다.
✅ 다른 사람의 풀이를 보고 dictionary
와 주어진 입력값
을 적극 활용하면 코드 길이를 줄일 수 있음을 알게 되었다.