아래 코드의 경우 프로그래머스 코드 채점에서 100점은 나왔지만, 코드 채점 후 많은 분들의 정답을 보면서 자기 성찰을 하게 됐습니다.

import java.util.*;

public class Solution42577 {

    public static void main(String[] args) {
        String[] phone_book1 = {"119", "97674223", "1195524421"};
        String[] phone_book2 = {"123", "456", "789"};
        String[] phone_book3 = {"12", "123", "1235", "567", "88"};
        String[] phone_book4 = {"12232332", "12", "222222"};
        String[] phone_book5 = {"911", "97625999", "91125426"};
        String[] phone_book6 = {"113", "12340", "123440", "12345", "98346"};

        System.out.println(solution(phone_book6));
    }

    private static boolean solution(String[] phone_book) {

        boolean answer = true;
        var phoneList = new ArrayList<>(Arrays.asList(phone_book));

        for (int i = 0; i < phoneList.size(); i++) {
            String getNumber = phoneList.get(i);
            int getNumberLength = getNumber.length();

            int j;
            for (j = 0; j < phoneList.size(); j++) {
                if (i != j) {
                    String compareNumber = phoneList.get(j);
                    int compareNumberLength = compareNumber.length();

                    if (getNumberLength <= compareNumberLength) {
                        if (getNumber.equals(compareNumber.substring(0, getNumberLength))) {
                            return false;
                        }
                    }
                }
            }
        }
        return answer;
    }
}