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

2024. 1. 29. 17:20코딩테스트 정리(자바)

728x90

1. 참가자들 이름을 키값으로 하고 같은 이름이 여러개라면 +1하도록

2. 완주한 선수들 이름을 키값으로 하고 -1 하도록

-> 참가자 이름과 완주한 이름의 개수가 같다면 0이 될 것이고 

다르다면 0이 아닐 것이다.

3. 0이 아닌것이 고로 답이다

import java.util.*;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        HashMap<String, Integer> map = new HashMap<>();
        for (String player : participant)
            map.put(player, map.getOrDefault(player, 0) + 1);
        
        for (String player : completion) 
            map.put(player, map.get(player) - 1);

        for (String key : map.keySet()) {
            if (map.get(key) != 0){
                answer = key;
            }
        }
        return answer;
    }
}

 

 

1. map.keySet()

: map의 key값들을 전부 가져온다

728x90