- 카테고리 : Hash
- 난이도 : Level2
- 문제 링크
아래 코드의 경우 프로그래머스 코드 채점에서 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;
}
}