<해시 알고리즘을 이용한 풀이>
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> hashMap = new HashMap<String, Integer>();
for (String person : participant)
hashMap.put(person, hashMap.getOrDefault(person, 0)+1);
for (String person : completion)
hashMap.put(person, hashMap.get(person)-1);
for (String key : hashMap.keySet()) {
if (hashMap.get(key) != 0) {
answer = key;
}
}
return answer;
}
public static void main(String[] args) {
SolutionEx1 ex1 = new SolutionEx1();
String[] participant = {"mislav", "stanko", "mislav", "ana"};
String[] completion = {"stanko", "ana", "mislav"};
System.out.println(ex1.solution(participant, completion));
}
<해시를 사용하지 않은 풀이>
public String solution(String[] participant, String[] completion) {
Arrays.sort(participant);
Arrays.sort(completion);
for(int i=0; i < completion.length; i++) {
if(!participant[i].equals(completion[i])) {
return participant[i];
}
}
return participant[participant.length-1];
}
public static void main(String[] args) {
SolutionEx1 ex1 = new SolutionEx1();
String[] participant = {"mislav", "stanko", "mislav", "ana"};
String[] completion = {"stanko", "ana", "mislav"};
System.out.println(ex1.solution(participant, completion));
}