문제
phone_book의 길이는 1 이상 1,000,000 이하이기 때문에 이중 for문으로는 문제를 접근 할 수 없습니다. 초기에는 문자열의 길이순으로 정렬을 진행했지만 문제를 해결할 수 없었습니다. 그 이유는 접두어 기준으로 탐색을 해야되기 때문입니다. sort만을 사용하여 정렬을 진행하였고, startsWith 함수를 활용하여 접두어를 탐색했습니다.
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
Arrays.sort(phone_book); // 정렬
for (int i=0; i<phone_book.length-1; i++){
// 접두어가 일치하면 종료
if(phone_book[i+1].startsWith(phone_book[i])){
return false;
}
}
return answer;
}
}
피드백 및 개선점은 댓글을 통해 알려주세요😊