https://school.programmers.co.kr/learn/courses/30/lessons/42576
참가자 목록과 완주자 목록이 주어지고, 한 명이 완주를 못했을 때 그 사람 이름을 찾아내는 문제
이름이 중복될 수도 있기 때문에 단순 비교로는 안 되고, Map을 써야 할 것 같다.
HashMap으로 이름과 등장 횟수를 기록
참가자 배열을 돌면서 이름마다 +1씩 해주고, 완주한 사람은 -1 처리
마지막에 값이 1인 사람만 찾아내면 되는 방식
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
Map<String, Integer> map = new HashMap<>();
for (String p : participant) {
map.put(p, map.getOrDefault(p, 0) + 1);
}
for (String c : completion) {
map.put(c, map.get(c) - 1);
}
for (String key : map.keySet()) {
if (map.get(key) != 0) {
return key;
}
}
return "";
}
}