코딩테스트

[프로그래머스 / Java] 완주하지 못한 선수 (HashMap)

데메즈 2026. 7. 5. 21:50
반응형

 

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

map.put(player, map.getOrDefault(player, 0) + 1); : Map 인터페이스(HashMap 등)에서 특정 키의 값을 가져올 때, 해당 키가 존재하지 않으면 미리 지정한 기본값(default value)을 반환하는 메서드

 

map.keySet()  : 객체에 포함된 모든 키(Key)들을 모아 Set 형태로 반환하는 메서드

 

import java.util.HashMap;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        
        // 1. Hash Map을 만든다 (paraticipant)
        HashMap<String, Integer> map = new HashMap<>();
        for(String player : participant)
            map.put(player, map.getOrDefault(player, 0) + 1);
        
        // 2. Hash Map을 뺀다 (completion)
        for(String player : completion)
            map.put(player, map.get(player) - 1);
        
        // 3. value가 0이 아닌 마지막 주자를 찾는다
        for(String key : map.keySet()){
            if(map.get(key) != 0){
                answer = key;
                break;
            }
        }
        
        return answer;
    }
}
반응형