처음에 String Substring, IndexOf, startsWith 함수등을 사용하여 작성해보았다.
결국은 효율성 테스트에서 실패!!!
마지막 방법으로 원래 문제 의도인 해시를 사용하여 풀어보았다!
public static boolean solution3(String[] phone_book) {
boolean answer = true;
HashSet<String> hs = new HashSet<String>();
int n = phone_book.length;
for(int i=0; i<n; i++) {
hs.add(phone_book[i]);
}
for(String phone : phone_book) {
for(int j=0; j<phone.length(); j++) {
if(hs.contains(phone.substring(0,j))) {
return false;
}
}
}
return answer;
}