빙응의 공부 블로그

[Programmers]Lv.1 완주하지 못한 선수 본문

Argorithm

[Programmers]Lv.1 완주하지 못한 선수

빙응이 2024. 1. 2. 20:41


📝풀이

해시 문제이다. 

해당 문제는 항상 값이 1이 나오는 것이 1개 존재하므로 

키 - 벨류 방식으로 completion에 나오면 벨류를 -1 하는 방법으로 구성하였다. 

마지막에는 벨류를 이용해 남은 선수를 추렸다.

 

import java.util.HashMap;
import java.util.Map;

class Solution {
    public String solution(String[] participant, String[] completion) {
        HashMap<String, Integer> hm = new HashMap<>();
        //해쉬 초기화
        for (String par : participant) {
            hm.put(par, hm.getOrDefault(par, 0) + 1);
        }

        for (String compl : completion) {
            hm.put(compl, hm.get(compl) - 1);
        }

        for (Map.Entry<String, Integer> entry : hm.entrySet()) {
            if (entry.getValue() > 0) {
                return entry.getKey();
            }
        }

        return null;
    }
}

'Argorithm' 카테고리의 다른 글

[Programmers]Lv.1 비밀지도  (0) 2024.01.03
[Programmers]Lv.1 다트게임  (1) 2024.01.03
[Programmers]Lv.1 K번째 수  (0) 2024.01.02
[Programmers]Lv.1 모의고사  (1) 2024.01.02
[Programmers]Lv.1 크레인 인형 뽑기  (0) 2024.01.01