
function solution(my_string, is_suffix) {
for(let i = 0; i < my_string.length; i++){
if(my_string.substring(i) === is_suffix ) {
return 1
}
}
return 0
}
return을 for문 안에 썼더니 오류가 났다.
그 이유의 이해를 돕기위해 예시를 들어보겠다
첫 번째 반복문 시작일 때 : "banana"
두 번째 반복문 시작일 때 : "anana"
세 번째 반복문 시작일 때 : "nana"
네 번째 반복문 시작일 때 : "ana"
다섯 번째 반복문 시작일 때 : "na"
여섯 번째 반복문 시작일 때 : "a"
⭐⭐이렇게 반복문이 돌텐데 만약 여기서 else return 0을 해버린다면, 그 즉시 반복문이 종료되어 is_suffix와 비교해서 1을 찾을 수 없게 된다. 그래서 찾고 맞는 게 있을 때 return하고 반복문이 종료되었을 때도 맞는 게 없다면 그 때 return 0을 해주면 된다. ⭐⭐
const solution = (str, suff) => str.endsWith(suff) ? 1 : 0
endWith : endsWith() 메서드를 사용하여 어떤 문자열에서 ⭐특정 문자열로 끝나는지를 확인할 수 있으며, 그 결과를 true 혹은 false로 반환한다.
그래서 위는 str문자열이 suff라는 특정문자로 끝나는지 확인한다. (str이 suff로 끝나는지 확인합니다.)
다시 이해해보자면 문자열에서 suff가 있는지 확인하는 게 아니라, ⭐⭐suff가 문자열의 끝에서 시작하는지 여부를 확인