Arrays.sort()를 이용하는 풀이법도 봤는데,
'completion의 길이는 participant의 길이보다 1 작습니다.' 이 조건에서
1이 아닌 다른 숫자가 올 경우를 대비하면 아래 코드가 더 나을 것 같았다.
동명이인 케이스가 있어서 hm.getOrDefault(player, 0) + 1);
로 풀이한 내용을 참고했다.
import java.util.Arrays;
import java.util.ArrayList;
import java.util.HashMap;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> hm = new HashMap<>();
for (String player : participant) {
hm.put(player, hm.getOrDefault(player, 0) + 1);
}
for (String player : completion) {
hm.put(player, hm.get(player) - 1);
}
for (String key : hm.keySet()) {
if (hm.get(key) != 0) {
answer = key;
}
}
return answer;
}
}