알고리즘/PROGRAMMERS

완주하지 못한 선수(Lv.1)

현대타운301 2024. 3. 21. 23:17

 


 

문제 설명

 

 

 

입출력 예시

 

 

요약

참가했는데 완주하지 못한 선수의 이름 찾기

 


 

풀이

 

접근 방식

1. 참가자 map 만들어서 완주자 배열에 없는 이름 찾기

  → hashmap과 keySet() 활용

 


 

코드리뷰

 

import java.util.*;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        HashMap<String, Integer> part = new HashMap<>();
        for(String str : participant) {
            part.put(str, part.getOrDefault(str, 0) + 1);	// map에 getOrDefault를 통해 기본 value = 1로 세팅
        }
        for(String str : completion) {
            part.put(str, part.get(str) - 1);	// 완주자 목록에 있으면  value -= 1
        }
        for(String key : part.keySet()) {
            if(part.get(key) == 1) {
                answer = key;	// value == 1인 player
                break;
            }
        }
        return answer;
    }
}