1. 처음 내가 푼 코드
    completion의 길이는 participant의 길이보다 1 작다는 정보를 이용하여 for문에서 비교
    Arrays.sort() 메소드를 이용하여 정렬을 하고 나면 시간이 오래 걸릴거라는 걱정이 있었지만 통과했다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
 
class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
 
        Arrays.sort(participant);
        Arrays.sort(completion);
 
        for(int i = 0; i < completion.length; i++) {
            if(!completion[i].equals(participant[i])) {
                return participant[i];
            }
        }
 
        return participant[participant.length-1];
    }
}
 
cs
 

 

 

 

 

  1. 해시맵 이용
    정확성과 효율성이 더 뛰어나다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.*;
 
class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
 
        Map<String, Integer> hashMap = new HashMap<>();
 
        for(String player : participant) {
            hashMap.put(player, hashMap.getOrDefault(player, 0+ 1);
        }
 
        for(String player : completion) {
            hashMap.put(player, hashMap.get(player) - 1);
        }
 
        for(String key : hashMap.keySet()) {
            if(hashMap.get(key) != 0) {
                answer = key;
                break;
            }
        }
 
        return answer;
    }
}
cs

 

 

+ Recent posts