ProgramSoliving
프로그래머스 : 완주하지 못한 선수
하이후에호
2020. 12. 10. 16:51
반응형
N^2 으로 일일이 찾아가면서 제거할려면 많은 시간이 소요된다.
HashMap으로 탐색시간을 줄여야한다.
package hash;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class h1 {
public String solution(String[] participant, String[] completion) {
StringBuilder answer = new StringBuilder();
Map<String, Integer> hash = new HashMap<String, Integer>();
for (String str : participant) {
if (hash.containsKey(str)) {
int tmp = hash.get(str);
hash.put(str, tmp + 1);
} else {
hash.put(str, 1);
}
}
for (String str : completion) {
int tmp = hash.get(str);
if (tmp == 1) {
hash.remove(str);
} else {
hash.put(str, tmp - 1);
}
}
Set<String> keys = hash.keySet();
answer.append(keys.iterator().next());
return answer.toString();
}
}
반응형