티스토리 뷰

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

 

알고리즘 연습 - 완주하지 못한 선수 | 프로그래머스

실행 결과가 여기에 표시됩니다.

programmers.co.kr

 

Map에 참가자들 담았다가 완주한 사람들 빼주면 완주하지 못한 사람들만 Map에 남기 때문에 그거만 출력해주면 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.*;
 
class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        HashMap<String, Integer> map = new HashMap<>();
        
        for(String player : participant) {
            map.put(player, map.getOrDefault(player, 0+ 1);   //동명이인 골라내기 위함
        }
        for(String player : completion) {
            map.put(player, map.get(player) - 1);
        }
        for(String key : map.keySet()) {
            if(map.get(key) != 0) {
                answer = key;
            }
        }
        return answer;
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter

 

map.getOrDefault()

default V getOrDefault(Object key, V defaultValue) : key에 값이 있으면 key값 출력, 없으면 디폴트 값 출력

map.keySet()

Set<K> keySet() : map에 저장된 key 값들 반환

댓글