import java.util.*;
class Solution {
public int[] solution(String[] id_list, String[] report, int k) {
Set<String> set = new HashSet<>();
for(String names : report){
set.add(names);
}
Map<String, Integer> map = new HashMap<>();
String[] reporter = new String[set.size()];
String[] reportee = new String[set.size()];
int index = 0;
Iterator iter = set.iterator();
while(iter.hasNext()){
String[] names = iter.next().toString().split(" ");
reporter[index] = names[0];
reportee[index] = names[1];
map.put(names[1], map.getOrDefault(names[1], 0)+1);
index++;
}
Map<String, Integer> result = new LinkedHashMap<>();
for(String name : id_list){
result.put(name, 0);
}
for(String name : map.keySet()){
if(map.get(name) >= k){
for(int i=0; i< reporter.length; i++){
if(reportee[i].equals(name)){
result.put(reporter[i], result.getOrDefault(reporter[i], 0)+1);
}
}
}
}
int[] answer = new int[id_list.length];
int idx = 0;
for(int count : result.values()){
answer[idx++] = count;
}
return answer;
}
}
너무 어려워서 눈물 흘리면서 풀었다...
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바] 문자열 내 마음대로 정렬하기 (0) | 2023.03.15 |
---|---|
[프로그래머스/자바] 가장 가까운 같은 글자 (0) | 2023.03.15 |
[프로그래머스/자바] [1차] 비밀지도 (0) | 2023.03.14 |
[프로그래머스/자바] 완주하지 못한 선수 (0) | 2023.03.13 |
[프로그래머스/자바] 숫자 문자열과 영단어 (0) | 2023.03.13 |