알고리즘
[javascript 알고리즘] 접미사인지 확인하기
쫌수
2025. 1. 14. 21:35
문제
어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
풀이접근
- 처음에는 split으로 분할해서 분할되는 갯수로 하려고 했다. -> 이렇게 하니 ana 가 2번 들어가서 첫번째 ana으로 분리되었다.
- endWith라는 문자열 메서드를 알게되었다. 간단하게 풀이가 가능했다.
풀이
function solution(my_string, is_suffix) {
return my_string.endsWith(is_suffix) ? 1: 0
}
다른 사람 풀이
function solution(my_string, is_suffix) {
// 슬라이싱을 사용한 방법
const start = my_string.length - is_suffix.length;
if (my_string.slice(start) === is_suffix) {
return 1;
}
return 0;
}
배운 점
- my_string의 길이에서 주어진 문자열 길이를 빼서 슬라이스할 인덱스를 구한다. 그거랑 주어진 문자열이랑 같으면 끝!