어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "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
}