Print
카테고리: [ Algorithm ]
조회수: 1330

 

문제 풀이 : 

1. hash 자료구조를 이용한다.

2. getOrDefault 메소드를 활용하여 파라미터로 받은 참가자(participant), 완주자(completion) 데이터를 hash에 저장한다.

2-1. getOrDefault : 중복된 참가자(key)가 존재한다면 value에 +1

3. hash의 value값이 0이 아닌것만 리턴

 

소스 코드 : 

import java.util.*;

class Solution {
    public String solution(String[] participant, String[] completion) {
        Map<String, Integer> hash = new HashMap<>();
        for (String s : participant) hash.put(s, hash.getOrDefault(s, 0) + 1);
        for (String s : completion) hash.put(s, hash.getOrDefault(s, 0) - 1);

        for (String key : hash.keySet()) {
            if (hash.get(key) != 0) return key;
        }

        return null;
    }
}