import java.util.HashMap; class Solution { public boolean solution(String[] phone_book) { HashMap<String, Integer> hashmap = new HashMap<String, Integer>(); //phone_book 데이터 hashmap 저장 for(int i=0; i<phone_book.length; i++){ hashmap.put(phone_book[i],i); } //hashmap 맵중 접두어가 있는지 확인하는 함수 for(int i=0; i<phone_book.length; i++){ for(int j=0; j<phone_book[i].length(); j++){ if(hashmap.containsKey(phone_book[i].substring(0,j))) return false; } } return true; } }
for(int i=0; i<phone_book.length; i++){ for(int j=0; j<phone_book[i].length(); j++){ if(hashmap.containsKey(phone_book[i].substring(0,j))) return false; } }
2중 for문을 통해 phone_book 길이와 데이터의 String 길이만큼 반복한다.
if문에서 phone_book의 데이터를 인덱스를 1개씩 증가해가면서 substring으로 데이터를 쪼개고 쪼갠 접두어가 hashmap에 포함되는지 확인한다.
있으면 true 없으면 false을 반환한다.