문제 설명
제한사항
입출력 예
participant | completion | return |
---|---|---|
["leo", "kiki", "eden"] | ["eden", "kiki"] | "leo" |
["marina", "josipa", "nikola", "vinko", "filipa"] | ["josipa", "filipa", "marina", "nikola"] | "vinko" |
["mislav", "stanko", "mislav", "ana"] | ["stanko", "ana", "mislav"] | "mislav" |
예제 #1
"leo"는 참여자 명단에는 있지만, 완주자 명단에는 없기 때문에 완주하지 못했습니다.
예제 #2
"vinko"는 참여자 명단에는 있지만, 완주자 명단에는 없기 때문에 완주하지 못했습니다.
예제 #3
"mislav"는 참여자 명단에는 두 명이 있지만, 완주자 명단에는 한 명밖에 없기 때문에 한명은 완주하지 못했습니다.
JAVA 코드
import java.util.HashMap;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> hm = new HashMap<>();
//hm에 참가자 명단을 입력합니다.
//선수 이름을 키값으로 하며 Integer값으로 중복되는 선수의 경우 계속하여 증가되게 처리해줍니다.
for (String player : participant) {
hm.put(player, hm.getOrDefault(player, 0) + 1);
}
//hm의 참가자 명단에 완주자 이름을 찾아 -1 처리해 줍니다.
for (String player : completion) {
hm.put(player, hm.get(player) - 1);
}
//결과적으로 value값이 0이 아닌 키값은 완주하지 못한 선수의 이름이 됩니다.
for (String key : hm.keySet()) {
if (hm.get(key) != 0){
answer = key;
}
}
return answer;
}
}