다른 분들 풀이를 참고하였습니다.
import java.util.HashMap;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer="";
HashMap<String,Integer> map = new HashMap<>();
// 참가자 배열안에 있는 사람들을
for(String player:participant){
//해시맵에 넣는다. map(선수이름, 선수이름 값이 존재하면 선수이름 값을 넣어주고 없다면 0) + 1
map.put(player,map.getOrDefault(player,0)+1);
}
//완주자들 대상으로 해시맵에 넣고, 키 값에서 -1을 빼준다.
/*
예를 들어
leo=1 eden=1 kiki=1
완주했으면 -1해줘야하고, leo가 안들어온 상황이면
leo=1 eden=0 kiki=0
이니까
*/
for(String player:completion){
map.put(player,map.get(player)-1);
}
for(String player:map.keySet()){
if(map.get(player)!=0){
answer=player;
break;
}
}
return answer;
}
}
import java.util.HashMap;
HashMap<String,Integer> map = new HashMap<>();
getOrDefault(a,0)+1 -> a값이 존재하면 그 값을 넣어주고, 없다면 0을 넣어라
=> 키 값이 몇번이나 사용되었는지 찾고 싶을 때 사용.
String[] ex={"A","B","C","A"};
HashMap<String,Integer> map = new HashMap<>();
for(String str : ex)
map.put(str,map.getOrDefault(str,0)+1);
HashMap Method