완주하지 못한 선수
Updated:
해쉬문제이다. Map을 이용해서 출전명단에 있는 사람의 수를 체크를 한다음
완료명단에 있는 사람을 찾아, Map에서 해당하는 사람의 수를 하나씩 줄였다.
이때 Map에 value로 1이 남아있는 Key값이 답이 된다
by Java
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
Map<String,Integer> map = new HashMap<>();
for(int i=0;i<participant.length;i++) {
String s = participant[i];
if(map.get(s)==null) {
map.put(s,1);
}
else {
int value = map.get(s);
value++;
map.remove(s);
map.put(s,value);
}
}
for(int i=0;i<completion.length;i++) {
String complete = completion[i];
int value = map.get(complete);
value--;
map.remove(complete);
map.put(complete,value);
}
String answer ="";
for(String e : map.keySet()) {
if(map.get(e)==1) {
answer = e;
break;
}
}
return answer;
}
}
Leave a comment