문제에서 숫자 문자열 phone_book이 주어졌을 때, 한 번호가 다른 번호의 접두어인 경우 false, 그렇지 않으면 true를 return 하면 되는 것이다.
처음에는 이중 반복문을 사용하여 번호 하나 씩 확인하면서 접두어 여부를 판단하려 했으나 너무 시간이 오래 걸렸고, 이 문제는 효율성 문제도 있어서 다른 방법을 모색하였다.
두번째로는 HashMap, 반복문 및 stream()을 사용한 방법을 해보았지만, 효율성 검사 중 2개에서 실패하여 다른 방법을 모색했다.
그래서 문자열을 정리하고 싶어서 Arrays.sort() 를 하였다. 이때 발견한 것이 119 다음 문자열이 119552... 이었던 것이다! 그 이유를 살펴보니, 번호 값이 Integer 가 아닌 String 값으로 들어가 있어서 문자열 순서대로 정렬하면 119 다음 119552... 숫자가 되는 것이다!
이를 통하여서 현재 문자가 다음 문자에 포함이 되어있는지 확인하는 contains를 사용했었으나, 검사 1개 에서 실패가 되어서, 접두어 인지 확인하는 startsWith()로 바꿔서 통과하였다.