프로그래머스 신고 결과 받기 JAVA

sundays·2022년 8월 18일
0

신고 결과 받기

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 과 같은
이런 사용성에 관한 문제들에 대한 많은 문제를 풀어야 한다.

profile
develop life

0개의 댓글