[생각해 본 접근 방법]
def solution(id_list, report, k):
report_list = []
answer = []
id_dic = {i.split(' ')[0]:0 for i in id_list}
report = list(set(report))
for i in range(len(report)):
report_list.append(report[i].split()[1])
for i in range(len(id_list)):
for j in range(len(id_list)):
if k <= report_list.count(id_list[j]):
for l in range(len(report)):
user = id_list[i] + ' ' + id_list[j]
if user == report[l]:
id_dic[id_list[i]] = id_dic[id_list[i]] + 1
answer = [id_dic[i] for i in id_list]
return answer
id_list = ["muzi", "frodo", "apeach", "neo"]
report = ["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"]
k = 2
solution(id_list, report, k)
코드를 작성하면서 항상 느끼는데 너무 비효율적으로 짜고 있다.
경험이 부족해서 그런 거 같은데
문제에 대한 접근도, 코드로 옮기는 방법도 초보자 단계를 벗어나지 못해서
이런 비효율적인 코드가 나왔다.
답은 제대로 나오지만 역시 시간 오버로 테스트에 통과가 되지 못했다.
간결한 방법을 다시 생각해서 풀어봐야겠다.