프로그래머스에서는 해시로 구분이 되어 있는 문제이지만, 접두어가 있는지 판별하는 문제이므로 Java를 공부하면서 습득했던 startsWith 함수
를 사용하며 문제를 풀었다. startsWith 함수는 비교 대상 문자열이 입력된 문자열 값으로 시작되는지 여부를 판단하여 boolean 형태로 반환한다. 입력된 문자열 값으로 시작되면 true, 그렇지 않으면 false를 반환한다.
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
boolean answer = true;
Arrays.sort(phone_book);
for(int i=1; i<phone_book.length; i++){
String str = phone_book[i-1];
if(phone_book[i].startsWith(str)){
answer = false;
break;
}
}
return answer;
}
}
전화번호부가 적힌 배열에서 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 하는 것이므로 전화번호부를 Arrays.sort() 함수
로 정렬하여 인접해 있는 문자열끼리 비교하여 접두어를 판단한다.