💻
신고 결과 받기
June 25, 2023
내 최종코드
import java.util.*;
class Solution {
public int[] solution(String[] id_list, String[] report, int k) {
int[] answer = new int[id_list.length]; //결과값 반환 배열
HashSet<String> hashSet = new HashSet<>(Arrays.asList(report)); //신고 결과에서 중복값을 제거한 hastSet
//신고받은 결과
Map<String, Integer> complaintMap = new HashMap<String, Integer>();
for(String key : hashSet){
String id = key.split(" ")[1]; //신고받은 id
complaintMap.put(id, complaintMap.getOrDefault(id, 0) + 1); //신고받은 횟수
}
//신고한 결과
Map<String, Integer> resultMap = new HashMap<String, Integer>();
for(String key : hashSet){
String fromId = key.split(" ")[0]; //신고한 id
String toId = key.split(" ")[1]; //신고받은 id
if(complaintMap.get(toId) >= k){ //신고받은 횟수가 k회 이상이라면
resultMap.put(fromId, resultMap.getOrDefault(fromId, 0) + 1);
}
}
int index = 0;
//id를 담고있는 배열 순서대로 answer에 결과값 넣기
for(String id : id_list){
answer[index++] = resultMap.getOrDefault(id, 0);
}
return answer;
}
}