반응형
해당 글에서는 Java에서 공통적으로 사용되는 배열 내에서 문자열의 접두사와 접미사를 찾는 방법에 대해 알아봅니다.
1) 문자열 접두사(prefix) 구하기
1. startsWith() 함수
💡 startsWith() 함수
- 문자열이 특정 접두사로 시작하는지 여부를 확인하는 Java의 문자열 메서드입니다.
- 이 함수는 주어진 문자열이 특정 접두사로 시작하면 true를 반환하고, 그렇지 않으면 false를 반환합니다
2. startsWith() 함수 예시
💡 문자열을 기준으로 접두사로 해당 단어가 존재하는지 여부를 진위형(boolean)으로 반환받습니다.
💡 예시 설명
1. "Hello, world!"라는 문자열을 기준으로 접두사로 "Hello"가 존재하면 true의 값을 반환하고 존재하지 않으면 false 값을 반환합니다.
2. "Hello, world!" 라는 문자열을 기준으로 접두사로 "Hi"가 존재하면 true의 값을 반환하고 존재하지 않으면 false 값을 반환합니다.
String str = "Hello, world!";
boolean startsWithHello = str.startsWith("Hello");
boolean startsWithHi = str.startsWith("Hi");
System.out.println(startsWithHello); // 출력: true
System.out.println(startsWithHi); // 출력: false
💡 예시 설명
- 배열내의 문자열들의 접두사를 구하고자 합니다. 이를 구하는 방법에 대해 알아봅니다.
1. 배열에서 첫 번째 값을 접두사로 사용합니다(기준)
2. 나머지 값들을 비교 대상으로 순회합니다.(비교대상)
3. 접두사와 다른 값들을 비교하여 같아질 때까지 반복합니다.
4. 접두사의 마지막 글자를 제거하여 접두사를 재구성합니다.
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 함수에 대해 관심이 있으시면 아래의 글을 참고하시면 도움이 됩니다.
2) 문자열 접미사(suffix) 구하기
1. endsWith() 함수
💡 endsWith()
- 문자열이 특정 접미사로 끝나는지 여부를 확인하는 Java의 문자열 메서드입니다.
- 이 함수는 주어진 문자열이 특정 접미사로 끝나면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
2. endsWith() 함수 예시
💡 문자열을 기준으로 접미사에 해당 단어가 존재하는지 여부를 진위형(boolean)으로 반환받습니다.
💡예시 설명
1. "Hello, world!"라는 문자열을 기준으로 접미사로 "world"가 존재하면 true의 값을 반환하고 존재하지 않으면 false 값을 반환합니다.
2. "Hello, world!" 라는 문자열을 기준으로 접미사 "Java"가 존재하면 true의 값을 반환하고 존재하지 않으면 false 값을 반환합니다.
String str = "Hello, world!";
boolean endsWithWorld = str.endsWith("world");
boolean endsWithJava = str.endsWith("Java");
System.out.println(endsWithWorld); // 출력: false
System.out.println(endsWithJava); // 출력: false
💡 예시 설명
- 배열내의 문자열들의 접미사를 구하고자 합니다. 이를 구하는 방법에 대해 알아봅니다.
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
오늘도 감사합니다. 😀
반응형
'Java > Short 개발' 카테고리의 다른 글
[Java/Short] 문자열의 문자를 가장 앞으로/뒤로 이동하는 방법 (0) | 2023.11.04 |
---|---|
[Java/Short] 배열을 반으로 나누어 재구성 방법 : for, Arrays.copyOfRange (0) | 2023.11.03 |
[Java/Short] 약수를 구하는 다양한 방법 : int to divisor (0) | 2023.06.11 |
[Java/Short] 두 개의 배열을 하나의 배열로 합치는 다양한 방법 (0) | 2023.06.05 |
[Java/Short] 배열/리스트의 요소를 역순으로 재구성 방법 : forward to reverse (0) | 2023.06.05 |