https://school.programmers.co.kr/learn/courses/30/lessons/42576
동명이인 처리를 해야하기 때문에 HashMap이 적절.
getOrDefault()를 통해 이미 나온 선수도 처리.
완주하지 못한 선수는 한명이기 때문에 HashMap에서 remove()해 나가고, 정답은 HashMap에서 남은 한명의 선수(Key)이다.
iterator()를 통해 순회하고 next()를 이용해 첫 번째 원소를 호출한다.
return map.keySet().iterator().next()
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
Map<String, Integer> map = new HashMap<>();
for(String str : participant){
map.put(str, map.getOrDefault(str, 0)+1);
}
for(String str : completion){
map.put(str, map.get(str) - 1);
}
String answer = "";
for(String str : map.keySet()){
if(map.get(str) > 0){
answer += str;
}
}
return answer;
}
}