2019-03-26

프로그래머스 알고리즘, 완주하지 못한 선수

목표 (문제)

completion 배열에서 participant 배열 중 제외된 대상 값을 return

조건

  • participant 배열 속 선수의 수는 1명 이상 100,000명 이하입니다.
  • completion의 길이는 participant의 길이보다 1 작습니다.
  • 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
  • 선수명이 같은 경우가 있을 수 있습니다.

코드

public String solution(String[] participant, String[] completion) {
    HashMap<String, Integer> start = new HashMap<String, Integer>();
    for (String item : participant) {
        Integer hashItem = start.get(item);
        if (hashItem == null) {
            start.put(item, 1);
        } else {
            start.put(item, hashItem + 1);
        }
    }

    HashMap<String, Integer> retire = (HashMap) start.clone();
    for (String item : completion) {
        retire.put(item, retire.get(item) - 1);
    }
    
    for(String item : retire.keySet()) {
        if(retire.get(item)> 0) {
            return item;
        }
    }
    return null;
}

0 개의 댓글:

댓글 쓰기