1. 문제 풀이 아이디어
Map
을 사용하여 문제를 해결할 수 있다.
2. 나의 정답 코드
class Solution {
public String solution(String[] participant, String[] completion) {
Map<String, Integer> map = new HashMap<>();
for (String s : participant) {
map.put(s, map.getOrDefault(s, 0) + 1);
}
for (String s : completion) {
int count = map.get(s) - 1;
if (count == 0)
map.remove(s);
else
map.put(s, count);
}
return map.keySet().iterator().next();
}
}
3. 정리
Map
을 생성해 참가자의 이름과 동명이인의 수를 저장한다.
- 반복문을 통해
completion
배열에 있는 이름을Map
에서 값을 감소시키고, 0이되면 제거한다.
- 이후
keySet
의 첫 번째 값을 반환하면 문제를 해결할 수 있다.
Share article