문제/프로그래머스
[프로그래머스 : JAVA] 코딩 기초 트레이닝 Day 9 문자열
개발원슝이
2024. 7. 25. 15:44
접미사인지 확인하기
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다.
예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
class Solution {
public int solution(String my_string, String is_suffix) {
int answer = 0;
int start_index = my_string.length() - is_suffix.length();
answer = start_index >= 0 && my_string.substring(start_index).equals(is_suffix) ? 1 : 0;
return answer;
}
}
class Solution {
public int solution(String my_string, String is_suffix) {
int answer = 0;
answer = my_string.endsWith(is_suffix) ? 1 : 0;
return answer;
}
}
매개변수 is_suffix의 단어가 매개변수 my_string의 뒷부분가 일치하면 1, 아니면 0을 반환하는 문제였다.
접미사의 길이를 구해서, my_sting의 인덱스로 활용해서 접미사와 일치하는지 확인하는 방법으로 풀었다.
이후에 다른 사람들의 풀이에서 endsWith()메서드의 존재를 확인해서 다시 풀었다.
JAVA String 접두사 접미사 확인 메서드
- boolean startsWith(String prefix)
- 헤당 문자열이 매개변수 문자열로 시작하는지 체크
- 접두사 확인 후 boolean에 맞춰 반환
- 공백도 취급
- boolean isTrue = 문자열.startsWith(접두사);
- boolean endsWith(String suffix)
- 해당 문자열이 매개변수 문자열로 끝나는지 체크
- 접미사 여부 확인 후 boolean에 맞춰 반환
- 공백도 취급
- boolean isTrue = 문자열.endsWith(접미사);