알고리즘 풀이/프로그래머스

프로그래머스 - 완주하지 못한 선수 (해시)

배게 2019. 11. 30. 09:56
728x90

해쉬에 


participant 다 넣어주고 


completion으로 다 빼주고나면 


keySet에 들어잇는 key는 단 1개가 남게되는데 그거 return해주면 끝



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    public String solution(String[] participant, String[] completion) {
        String answer = "";
 
        HashMap<String, Integer> hm = new HashMap<>();
 
        for (String p : participant) {
            if (!hm.containsKey(p))
                hm.put(p, 1);
            else {
                hm.put(p, hm.get(p) + 1);
            }
        }
 
        //         for(String s : hm.keySet()){
        //             System.out.println(s+" "+hm.get(s));
        //         }
 
        for (String c : completion) {
            if (hm.get(c) == 1)
                hm.remove(c);
            else {
                hm.put(c, hm.get(c) - 1);
            }
        }
 
        // System.out.println();
        for (String s : hm.keySet()) {
            // System.out.println(s+" "+hm.get(s));
            return s;
        }
 
        return answer;
 
        // System.out.println(hm.size());
 
        // return answer;
    }
cs