import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Map <String, Integer> map1 = new HashMap <>(); // 참가자 저장할 map1
Map <String, Integer> map2 = new HashMap <>(); // 완주자 저장할 map2
for(String key : participant) { // 참가자는 key, 인원수는 value
// getOrDefault(): map에 key가 없으면 기본값(0) 지정
map1.put(key, map1.getOrDefault(key, 0) + 1); // 인원 세려고 +1
}
for(String key : completion) { // 위와 동일
map2.put(key, map2.getOrDefault(key, 0) + 1);
}
// equals()은 효율성 통과, "=="은 실패
// equals(): 단순히 문자열의 값을 비교, "==": 각 객체들의 주소값을 비교
for (String key : participant) {
if(!map1.get(key).equals(map2.get(key))) { // get(): value 출력
answer = key; // 낙오자 색출
}
}
return answer;
}
}