String[] strs = {"abcaefg", "abcdefg", "abednfg"};
// 1. 배열에서 첫 번째 값을 접두사로 사용합니다(기준)
String prefix = strs[0];
// 2. 나머지 값들을 비교 대상으로 순회합니다.(비교대상)
for (int i = 1; i < strs.length; i++) {
// 3. 접두사와 다른 값들을 비교하여 같아질 때까지 반복합니다.
while (!strs[i].startsWith(prefix)) {
// 4. 접두사의 마지막 글자를 제거하여 접두사를 재구성합니다.
prefix = prefix.substring(0, prefix.length() - 1);
}
}
💡 [참고] Substring 함수에 대해 관심이 있으시면 아래의 글을 참고하시면 도움이 됩니다.
💡 예시 설명 - 배열내의 문자열들의 접미사를 구하고자 합니다. 이를 구하는 방법에 대해 알아봅니다.
1. 배열에서 첫 번째 값을 접미사로 사용합니다(기준)
2. 나머지 값들을 비교 대상으로 순회합니다.(비교대상)
3. 접미사와 다른 값들을 비교하여 같아질 때까지 반복합니다.
4. 접미사의 첫 글자를 제거하여 접미사를 재구성합니다.
String[] strs = {"abcaefg", "abcdefg", "abednfg"};
// 1. 배열에서 첫 번째 값을 접미사로 사용합니다(기준)
String suffix = strs[0];
// 2. 나머지 값들을 비교 대상으로 순회합니다.(비교대상)
for (String str : strs) {
// 3. 접미사와 다른 값들을 비교하여 같아질 때까지 반복합니다.
while (!str.endsWith(suffix)) {
// 4. 접미사의 첫 글자를 제거하여 접미사를 재구성합니다.
suffix = suffix.substring(1);
}
}
System.out.println("Common suffix: " + suffix); // Common suffix: fg