public String solution(String[] participant, String[] completion) {
StringBuilder answer = new StringBuilder();
for (String s : participant) {
boolean completed = true;
for (int j = 0; j < completion.length; j++) {
if (s.equals(completion[j])) {
completion[j] = null;
completed = false;
break;
}
}
if (completed) {
answer.append(s);
}
}
return answer.toString();
}
배열이 전혀 정렬 되어있지 않다보니 의 시간으로 시간 초과..
string builder 사용했는데 부질없는 짓이였음 ㅎㅎ
내 생각으로는 Map을 통해 해시 테이블을 사용하거나 배열을 정렬해야할 것 같음
내일 다시 해보기로
public String solution(String[] participant, String[] completion) {
String answer = "";
int count = 0;
HashMap<String, Integer> hashMap = new HashMap<>();
for (String name : participant) { // 참가자 체크, 해시맵 삽입
if (hashMap.get(name) == null) {
hashMap.put(name,1);
} else {
count = hashMap.get(name) + 1;
hashMap.put(name, count);
}
}
for (String complement : completion) { // 항상 1 작기 때문에 -1 후 get, 완주자 삽입
count = hashMap.get(complement) - 1;
hashMap.put(complement, count);
}
for (String name : hashMap.keySet()) { //
if (hashMap.get(name) == 1) {
answer = name;
}
}
return answer;
}