https://school.programmers.co.kr/learn/courses/30/lessons/42576
hashMap을 사용하여 participant 배열의 선수들을 key값으로 넣고 value에 해당 선수가 몇명인지 넣는다.
그 후 completion배열의 선수들에 대해 value값을 -1 해준다.
결과적으로 value값이 0이 아닌 선수를 return해준다.
hashMap의 getOrDefault메서드를 사용하여 코드의 가독성을 높일 수 있다.
getOrDefault(key, defaultValue) => key가 존재하면 기존 value값을, 존재하지않으면 defaultValue값을 반환해준다.
풀이는 아래와 같다.
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
HashMap<String, Integer> hashMap = new HashMap<>();
for(String player : participant){
hashMap.put(player, hashMap.getOrDefault(player, 0) + 1);
}
for(String player : completion){
hashMap.put(player, hashMap.get(player) - 1);
}
for(String key : hashMap.keySet()){
if(hashMap.get(key) > 0){
return key;
}
}
return "";
}
}
'Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스_게임 맵 최단거리(JAVA) (0) | 2024.12.14 |
---|---|
[Algorithm] 프로그래머스_체육복(JAVA) (0) | 2024.12.13 |
[Algorithm] 프로그래머스_네트워크(JAVA) (0) | 2024.12.11 |
[Algorithm] 프로그래머스_K번째수(JAVA) (2) | 2024.12.11 |
[Algorithm] 프로그래머스_올바른 괄호(JAVA) (3) | 2024.12.10 |