https://programmers.co.kr/learn/courses/30/lessons/42576
Collection 풀이
public static String solution(String[] participant, String[] completion) {
HashMap<String, Integer> hashMap = Arrays.stream(participant).collect(Collectors.toMap(s -> s, s -> 1, Integer::sum, HashMap::new));
Arrays.stream(completion).forEach(s -> hashMap.put(s, hashMap.get(s) - 1));
return hashMap.keySet().stream().filter(key -> hashMap.get(key) != 0).findFirst().orElse("");
}
일반 풀이
public static String solution(String[] participant, String[] completion) {
HashMap<String, Integer> hashMap = new HashMap<>();
for (String s : participant) hashMap.merge(s, 1, Integer::sum);
for (String s : completion) hashMap.put(s, hashMap.get(s) - 1);
for (String key : hashMap.keySet()) {
if (hashMap.get(key) != 0){
return key;
}
}
return "";
}
Collection 연습겸 풀어봤는데, Collection 이 평균적으로 더 느리다.
'Algorithm' 카테고리의 다른 글
프로그래머스 웹 백엔드(2) (0) | 2020.05.20 |
---|---|
프로그래머스 웹 백엔드 (1) (0) | 2020.05.20 |
2020 Dev-Matching: 웹 백엔드 개발자 후기 (1) | 2020.04.18 |
알고리즘 - 주식 가격 (스택/큐) (0) | 2020.04.18 |
카카오 테스트 크레인 인형뽑기 게임 (0) | 2020.04.17 |