미소의 세상

[알고리즘] 완주하지 못한 선수 본문

알고리즘/알고리즘 풀이

[알고리즘] 완주하지 못한 선수

짱미소 2022. 3. 14. 14:46

https://programmers.co.kr/learn/courses/30/lessons/42576?language=java 

 

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

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

programmers.co.kr

 

import java.util.HashMap;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        boolean flag;
        int intVar=0;
        HashMap<String, Integer> partHm = new HashMap<String, Integer>();
        HashMap<String, Integer> comHm = new HashMap<String, Integer>();

        for(String str : participant) {
            partHm.put(str, intVar);
        }
        for(String str : participant) {
            if(partHm.containsKey(str)) {
                intVar = partHm.get(str)+1;
                partHm.put(str, intVar);
            }
        }
        intVar = 0;

        for(String s : completion) {
            comHm.put(s, intVar);
        }
        for(String str : completion) {
            if(comHm.containsKey(str)) {
                intVar = comHm.get(str)+1;
                comHm.put(str, intVar);
            }
        }

        for(String str : participant) {
            flag = false;
            for(String s : completion) {
                if(str.equals(s)) {
                    flag = true;
                    if(partHm.get(str)!=comHm.get(str)) 
                        flag = false;
                }
            }
            if(flag==false) {
                answer = str;
                return answer;
            }
        }        
        return answer;
    }
}
Comments