2022 KAKAO BLIND RECRUITMENT - 신고 결과 받기 - JAVA
2025. 3. 3. 20:53ㆍ백준 및 프로그래머스/프로그래머스 LV 1
문제 설명



제한 사항

입출력 예

문제 설명
1.각각의 캐릭터가 신고하고 신고를 받는 경우입니다.
2.이 과정에서 K 번 이상의 신고를 받은 사람은 정지를 당하게 됩니다.
3.정지를 당하면 정지를 당한 플레이어를 신고한 사람에게 메일을 발송됩니다.
4.과연 각각의 플레이어가 몇 개의 메일을 받는지 저장 후 출력해주면 됩니다.
전체 코드
import java.util.*;
import java.lang.*;
class Solution {
public int[] solution(String[] id_list, String[] report, int k) {
int[] answer = new int[id_list.length];
Map<String, Set<String>> map = new HashMap<>();
Map<String, Integer> map1 = new HashMap<>();
List<Integer> list = new ArrayList<>();
for(int i = 0; i<id_list.length; i++){
map.put(id_list[i], new HashSet<String>());
}
for(int i = 0; i<report.length; i++){
String[] name = report[i].split(" ");
map.get(name[1]).add(name[0]);
}
for(int i = 0; i<id_list.length; i++){
String word = id_list[i];
if(map.get(word).size()>=k){
for(String names : map.get(word)){
if(map1.get(names) == null){
map1.put(names,1);
}else{
map1.put(names,map1.get(names)+1);
}
}
}
}
// System.out.println(map1);
for(int i = 0; i<id_list.length; i++){
if(map1.get(id_list[i]) == null){
answer[i] = 0;
continue;
}
answer[i] = map1.get(id_list[i]);
}
return answer;
}
}
간단한 구현 문제이며 자료구조를 잘 활용하는지 보는 문제인 것 같습니다.
'백준 및 프로그래머스 > 프로그래머스 LV 1' 카테고리의 다른 글
| PCCP 기출문제[PCCP 기출문제] 1번 / 동영상 재생기 - JAVA (0) | 2025.03.05 |
|---|---|
| 2025 프로그래머스 코드챌린지 2차 예선 - 택배 상자 꺼내기 - JAVA (1) | 2025.03.04 |
| [PCCP 기출문제] 1번 / 붕대 감기 - JAVA (0) | 2025.03.02 |
| [PCCE 기출문제] 10번 / 공원 - JAVA (0) | 2025.03.02 |
| 2025 프로그래머스 코드챌린지 1차 예선 - 유연근무제 -JAVA (1) | 2025.02.27 |