접두사인지 확인하기

남예지·2024년 3월 27일
0

미코

목록 보기
37/37

문제

어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.

접두사가 일치하면 true를 아니라면 false를 리턴하게 설계했다.

function solution(my_string, is_prefix) {
    
    if(my_string.includes(is_prefix)){
        var answer = "";
        for(let i=0; i<my_string.length; i++){
            answer += my_string[i]
            if(answer.slice(0, i+1) === is_prefix){
                return 1;
            }
        }
    }
    
    return 0;
}

다른사람들은 어떻게 풀었나 보니 다들 똑똑하다...
slice로 is_prefix만큼 자르고 그걸 is_prefix랑 똑같은지 확인하다니...지니어슨가?

String.prototype.startsWith()
startsWith() 메서드는 어떤 문자열이 특정 문자로 시작하는지 확인하여 결과를 true 혹은 false로 반환합니다.

startsWith 메서드를 사용한 사람도 있었다.

//다른사람의 코드

function solution(my_string, is_prefix) {
  return +my_string.startsWith(is_prefix);
}

function solution(my_string, is_prefix) {
    return my_string.slice(0, is_prefix.length) === is_prefix ? 1 : 0
}
profile
총총

0개의 댓글