접미사인지 확인하기

박준혁·2024년 3월 19일

  1. 반복문을 돌린다
  2. 부분 문자열 찾기 메서드를 사용하여 is_suffix와 비교해가며 반복문을 돌린다.
  3. 헷갈린 부분 : return을 for문 안에 썼더니 오류가 났다.

✅내가 한 방법

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가 문자열의 끝에서 시작하는지 여부를 확인

profile
"열정"

0개의 댓글