카테고리 없음

[Java] 프로그래머스 - 완주하지 못한 선수 (해시) 문제 풀이 정답 답안

dev-seongsu 2022. 2. 21. 18:34

프로그래머스 코딩테스트 연습 '완주하지 못한 선수' JAVA

해당 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42576?language=java

import java.util.HashMap;
import java.util.Map;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        
        HashMap<String, Integer> map = new HashMap<>();
        
        //'player'라는 Key에 해당하는 Value가 있으면 가져오고, 아닐 경우 0을 Default로 지정. + 1
        for(String player: participant)
            map.put(player, map.getOrDefault(player, 0) + 1);
        
        //'player'라는 Key에 해당하는 Value를 하나씩 뺌
        for(String player: completion)
            map.put(player, map.get(player) - 1);
        
        
        //해쉬맵을 맵으로 변경하여 순회.
        for( Map.Entry<String, Integer> iter: map.entrySet()) {
        	//Value가 0이 아니면 미완주자를 찾은 것.
            if(iter.getValue() != 0) {
                answer = iter.getKey();
                break;
            }
        }
        return answer;
    }
}