-
https://programmers.co.kr/learn/courses/30/lessons/92334
코딩테스트 연습 - 신고 결과 받기
문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의
programmers.co.kr
reporter와 reportee 사이의 관계를 정리한 2차원 배열인 relation을 선언하고,
string list로 구성된 report를 2차원 배열에 정리하였다.
이후 2차원 배열을 한 줄 씩 탐색하면서, k회 이상 신고된 경우 해당 유저를 신고한 유저에 대한 answer 변수를 1씩 증가시켰다.
더 간단한 방법도 있을 수 있지만, 최대한 직관적으로 해결할 수 있는 방법인 것 같다.
def solution(id_list, report, k): answer = [0 for i in range(len(id_list))] relation = [[0 for i in range(len(id_list))] for i in range(len(id_list))] for r in list(set(report)): reporter, reportee = r.split() relation[id_list.index(reportee)][id_list.index(reporter)] += 1 for i in range(len(id_list)): if sum(relation[i]) >= k: for j in range(len(id_list)): if relation[i][j] != 0: answer[j] += 1 return answer