신고 방향을 담은 report를 순회하면서 신고자(reporter)와 피신고자(reported)를 구분해줍니다. 만약 신고자가 신고한 피신고자를 한번도 신고하지 않았었다면 피신고자 테이블(reportTable)에 신고자의 이름이 없었을 것이므로 그러한 경우에만 피신고자 테이블에 신고자의 이름을 넣어줍니다. 피신고자 테이블로 인해 문제의 조건에 맞게 신고 횟수가 중첩되는 것을 방지할 수 있습니다.
신고 방향을 순회하고 나면 피신고자 테이블은 다음과 같이 값이 담기게 됩니다.
["apeach"]
["muzi", "apeach"]
[]
["frodo", "muzi"]
이제 피신고자 테이블을 순회하면서 해당 피신고자가 k번 이상 신고된 경우, 위 케이스는 2번이기 때문에 frodo를 2번 신고한 신고자 muzi, apeach와 neo를 2번 신고한 frodo, muzi에게 메일이 전송되기 때문에 muzi는 2개의 메일을, frodo와 apeach는 1개의 메일을 받게 됩니다.