프로그래머스 코딩테스트 연습 '완주하지 못한 선수' JAVA
해당 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42576?language=java
import java.util.HashMap;
import java.util.Map;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> map = new HashMap<>();
//'player'라는 Key에 해당하는 Value가 있으면 가져오고, 아닐 경우 0을 Default로 지정. + 1
for(String player: participant)
map.put(player, map.getOrDefault(player, 0) + 1);
//'player'라는 Key에 해당하는 Value를 하나씩 뺌
for(String player: completion)
map.put(player, map.get(player) - 1);
//해쉬맵을 맵으로 변경하여 순회.
for( Map.Entry<String, Integer> iter: map.entrySet()) {
//Value가 0이 아니면 미완주자를 찾은 것.
if(iter.getValue() != 0) {
answer = iter.getKey();
break;
}
}
return answer;
}
}