import java.util.*;
class Solution {
/**
* 신고 결과 받기
* @param id_list 유저 리스트
* @param report 신고자 신고 유저
* @param k 정지 기준 신고 회수
*/
public int[] solution(String[] id_list, String[] report, int k) {
int[] answer = new int[id_list.length];
Map<String, Integer> map = new HashMap<>();
Map<String,HashSet<String>> hs = new HashMap<>();
for (int i = 0; i < id_list.length; i ++) {
String name = id_list[i];
hs.put(name, new HashSet<>());
map.put(name, i);
}
for (String s : report){
String[] names = s.split(" ");
hs.get(names[1]).add(names[0]);
}
for (int i = 0; i < id_list.length; i++) {
HashSet<String> send = hs.get(id_list[i]);
if (send.size() >= k) {
for (String name: send) {
answer[map.get(name)]++;
}
}
}
return answer;
}
}
map 의 사용성에 대해 잘 알면 된다. put, add, get 과 같은
이런 사용성에 관한 문제들에 대한 많은 문제를 풀어야 한다.