JAVA/Algorithm

[프로그래머스/java] 완주하지 못한 선수

nang. 2020. 10. 21. 23:23
반응형
SMALL

https://programmers.co.kr/learn/courses/30/lessons/42576

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr

import java.util.*;
class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";

        HashMap<String, Integer> hashMap = new HashMap<>();

        for(String s: participant){
            hashMap.put(s, hashMap.getOrDefault(s,0) + 1); // 참가자 모두 value 1
        }

        for(String s: completion){
            hashMap.put(s, hashMap.get(s)-1); // 완주자는 value가 0이 되었음
        }
        
        for(String key: hashMap.keySet()) {
            if(hashMap.get(key) != 0) { // 0이 아니면 완주하지 못한 선수
                answer = key; // key가 이름
                break; // 찾았으면 break
            }
        }
        
        return answer;
    }
}
반응형
LIST