[프로그래머스] LV1. 완주하지 못한 선수

인스·2025년 1월 11일
0

💡반복문으로 푼 풀이

  • 각각 정렬 후 같은지 비교
import java.util.Arrays;

class Solution {
	public String solution(String[] participant, String[] completion) {
		Arrays.sort(participant);
		Arrays.sort(completion);

		for (int i = 0; i < completion.length; i++) {
			if (!participant[i].equals(completion[i])) {
				return participant[i];
			}
		}
		return participant[participant.length - 1];

	}
}


💡해시로 푼 풀이

😒 실패한 코드

  • hashMap에 참가자들 value를 1로 넣고 완주하면 -1
  • value가 0이면 완주
  • 동명이인이 있을 때는 실패 !
import java.util.Arrays;

class Solution {
	public String solution(String[] participant, String[] completion) {
		HashMap<String, Integer> hm = new HashMap<>();
		String answer = "";
		for (String p : participant) {
			hm.put(p, 1);
		}
		for (String c : completion) {
			hm.put(c, hm.get(c) - 1);
		}

		for (String h : hm.keySet()) {
			if (hm.get(h) > 0) {
				answer = h;
				break;
			}
		}
		return answer;
	}
}

😯 참고한 풀이

import java.util.HashMap;

class Solution {
	public String solution(String[] participant, String[] completion) {
        String answer = "";
		HashMap<String, Integer> hm = new HashMap<>();
        for(String p : participant){
            hm.put(p, hm.getOrDefault(p, 0) + 1);
        }
        for(String c: completion){
            hm.put(c, hm.get(c) - 1);
        }
        
        for(String h : hm.keySet()){
            if(hm.get(h) != 0){
                answer = h;
                break;
            }
        }
        return answer;
    }
}
profile
💻💡👻

0개의 댓글