⭐ Lv. 0 - 접미사인지 확인하기
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string
과 is_suffix
가 주어질 때, is_suffix
가 my_string
의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
my_string | is_suffix | result |
---|---|---|
"banana" | "ana" | 1 |
"banana" | "nan" | 0 |
"banana" | "wxyz" | 0 |
"banana" | "abanana" | 0 |
입출력 예 #1
is_suffix
가 my_string
의 접미사이기 때문에 1을 return 합니다.입출력 예 #2
is_suffix
가 my_string
의 접미사가 아니기 때문에 0을 return 합니다.입출력 예 #3
is_suffix
가 my_string
의 접미사가 아니기 때문에 0을 return 합니다.입출력 예 #4
is_suffix
가 my_string
의 접미사가 아니기 때문에 0을 return 합니다.첫 풀이법은 다음과 같습니다.
접미사라는 말은 다시 말하자면, 문자열을 뒤집었을 때, 가장 처음에 오는 문자열이라는 뜻도 됩니다. 따라서 my_string
과 is_suffix
를 뒤집고, is_suffix
가 가장 첫 index에 존재하는지에 대한 여부를 판단하였습니다.
function solution(my_string, is_suffix) {
return [...my_string].reverse().join('').indexOf([...is_suffix].reverse().join('')) === 0 ? 1 : 0;
}
이보다 더 간단한 풀이법이 존재했습니다.
주어진 my_string
을 접미사의 길이만큼 뒤에서부터 잘라낸 다음, 잘라낸 문자열이 접미사와 동일한지를 판단해주면 됩니다.
function solution(my_string, is_suffix) {
return Number(my_string.slice(my_string.length - is_suffix.length) === is_suffix);
}