See More

package programmers; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; public class ReportStatus { public static void main(String[] args) { Solution4 s = new Solution4(); String[] id_list = {"muzi", "frodo", "apeach", "neo"}; String[] report = {"muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"}; // String[] report = {"ryan con", "ryan con", "ryan con", "ryan con"}; int k = 2; //정지 기준이 되는 횟수 s.solution(id_list, report, k); // [2,1,1,0] } } class Solution4 { public int[] solution(String[] id_list, String[] report, int k) { Map reportMap = new HashMap<>(); // 만약 같은 유저에게 신고받았다면 목록을 1로 하여 count를 1로 취급 Set set = new HashSet<>(Arrays.asList(report)); report = set.toArray(new String[0]); // 총 신고받은 횟수 구하기 for(int i = 0; i reportedUser = new ArrayList(); for(String keys : reportMap.keySet()) { int value = reportMap.get(keys); if(value >= k) { reportedUser.add(keys); } } // 정지되는 유저를 신고한 다른 유저 리스트 구한 후에 결과 메일의 개수 출력 int[] answer = new int[id_list.length]; for(int i = 0; i