
-Code
import java.util.*;
class Solution {
public boolean solution(String[] phone_book) {
// 정렬을 하게 되면 아스키 코드와 길이를 기준으로 정렬
Arrays.sort(phone_book);
// 이전 원소랑만 비교하는 이유
// 정렬시 이전 원소가 접두사인 경우는 붙어있기 때문에
for (int i = 1; i < phone_book.length; i++) {
if (phone_book[i].startsWith(phone_book[i - 1])) {
return false;
}
}
return true;
}
}
처음에는 정렬 후 첫 원소로 다 비교하려 했습니다. 하지만 그러면 다음과 같은 배열이 나올 때 실패하게 되므로 이전 원소랑만 비교해야 합니다.
[12, 13, 14, 145, 155] ▶️ 14가 접두사로 사용된 원소가 존재하는데 첫 원소를 기준으로 검사하면 틀리게 됩니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 1012번 유기농 배추 (0) | 2026.01.03 |
|---|---|
| [프로그래머스/Java] 프로세스 (0) | 2026.01.03 |
| [프로그래머스/Java] 예상 대진표 (0) | 2026.01.03 |
| [백준/Java] 9784번 Boiled Eggs (0) | 2026.01.03 |
| [백준/Java] 2667번 단지번호붙이기 (0) | 2026.01.02 |