문제 설명
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
제한사항
1 ≤ my_string의 길이 ≤ 100
1 ≤ is_suffix의 길이 ≤ 100
my_string과 is_suffix는 영소문자로만 이루어져 있습니다.
입출력 예
my_string | is_subffix | result |
"banana" | "ana" | 1 |
"banana" | "nan" | 0 |
"banana" | "wxyz" | 0 |
"banana" | "abanana" | 0 |
입출력 예 설명
- 입출력 예 #1
예제 1번에서 is_suffix가 my_string의 접미사이기 때문에 1을 return 합니다.
- 입출력 예 #2
예제 2번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
- 입출력 예 #3
예제 3번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
- 입출력 예 #4
예제 4번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
제출답안 및 설명
class Solution {
public int solution(String my_string, String is_suffix) {
// is_suffix의 길이만큼 my_string의 뒤에서부터 시작 위치 계산
int startIndex = my_string.length() - is_suffix.length();
// 시작 인덱스가 0보다 작으면 0으로 설정
// (is_suffix가 my_string보다 긴 경우 대비)
startIndex = startIndex <= 0 ? 0 : startIndex;
// my_string을 startIndex부터 끝까지 잘라서 비교할 문자열 생성
String compareString = my_string.substring(startIndex);
// 잘라낸 문자열과 is_suffix가 동일한지 비교
// 같으면 1(true), 다르면 0(false) 반환
if (compareString.equals(is_suffix)) {
return 1;
}
return 0;
}
}
참고) 해당 기능을 하는 String 메소드가 있다고 함..! (endsWith)
class Solution {
public int solution(String my_string, String is_suffix) {
if(my_string.endsWith(is_suffix)) {
return 1;
} else {
return 0;
}
}
}
'코딩테스트 > 프로그래머스 | Lv. 0' 카테고리의 다른 글
[프로그래머스 | JAVA] 문자열의 뒤의 n글자 (1) | 2024.12.03 |
---|---|
[프로그래머스 | JAVA] 접미사 배열 (0) | 2024.12.03 |
[프로그래머스 | JAVA] 문자열의 앞의 n글자 (0) | 2024.12.03 |
[프로그래머스 | JAVA] 접두사인지 확인하기 (0) | 2024.12.03 |
[프로그래머스 | JAVA] 카운트 다운 (1) | 2024.12.03 |