2022 KAKAO BLIND RECRUITMENT > 신고결과받기
https://programmers.co.kr/learn/courses/30/lessons/92334
https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/
문제에 대한 해설은 카카오 신입공채 테크블로그의 해설이 워낙 잘 설명되어 있으므로, 이 글로 대체하겠습니다.
public static int[] solution(String[] id_list, String[] report, int k) {
Map<String, Set<String>> bans = new HashMap<>();
Map<String, Integer> idNums = new HashMap<>();
int idx = 0;
for (String id : id_list) {
idNums.put(id, idx++);
}
StringTokenizer st;
for (String s : report) {
st = new StringTokenizer(s);
String from = st.nextToken();
String to = st.nextToken();
bans.computeIfAbsent(to, (e) -> new HashSet<>());
bans.get(to).add(from);
}
int[] answer = new int[id_list.length];
for (String name : bans.keySet()) {
if (bans.get(name).size() >= k) {
for (String s : bans.get(name)) {
answer[idNums.get(s)]++;
}
}
}
return answer;
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 자동완성 (JAVA) (0) | 2021.10.02 |
---|---|
프로그래머스 위장 (JAVA) (0) | 2021.08.08 |
프로그래머스 거리두기 확인하기 (JAVA) (0) | 2021.08.08 |
프로그래머스 가장 먼 노드 (JAVA) (0) | 2021.08.01 |
프로그래머스 N으로 표현 (JAVA) (0) | 2021.08.01 |