import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
HashSet<String> phone_hash = new HashSet<String>();
ArrayList<PhoneNumber> phone_numbers = new ArrayList<>();
for(String phone_number : phone_book) {
PhoneNumber pn = new PhoneNumber(phone_number);
phone_numbers.add(pn);
}
Collections.sort(phone_numbers);
for(PhoneNumber pn : phone_numbers) {
if(phone_hash.contains(pn.phone_number))
return false;
for(int i=0; i<pn.phone_number.length(); i++)
phone_hash.add(pn.phone_number.substring(0, i));
}
return answer;
}
public class PhoneNumber implements Comparable<PhoneNumber>{ //길이 순으로 정렬
String phone_number;
public PhoneNumber(String phone_number) {
this.phone_number = phone_number;
}
@Override
public int compareTo(PhoneNumber o) {
if(this.phone_number.length() < o.phone_number.length())
return 1;
if(this.phone_number.length() > o.phone_number.length())
return -1;
return 0;
}
}
}