완주하지 못한 선수

Seongjin Jo·2023년 2월 15일
0

프로그래머스 LV1

목록 보기
11/31

문제

풀이

import java.util.*;
class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        Map<String,Integer> map = new HashMap<>();
        
        for(String s : completion){
            map.put(s,map.getOrDefault(s,0)+1);
        }
        
        for(String c : participant){
            map.put(c,map.getOrDefault(c,0)-1);
        }
        
        for(String cc : map.keySet() ){
            if(map.get(cc)!=0){
                answer=cc;
            }
        }
        
        return answer;
    }
}

그냥 보자마자 HashMap이 생각이나서 그렇게 해결!
문제에서 정답 주의사항

1.없는 선수가 정답!
2.두명의 선수가 있으면 한명은 완주못함!

그래서 그냥 map에 완주선수 value 더해주고, 참여명단선수 value에 빼준다음 map.ketSet()을 이용해서 0이아닌 선수를 출력.

0개의 댓글