문제설명

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

제한사항
1 ≤ my_string의 길이 ≤ 100
1 ≤ is_prefix의 길이 ≤ 100
my_string과 is_prefix는 영소문자로만 이루어져 있습니다.

입출력 예
my_string | is_prefix | result
"banana" | "ban" | 1
"banana" | "nan" | 0
"banana" | "abcd" | 0
"banana" | "bananan" | 0

입출력 예 설명
입출력 예 #1

예제 1번에서 is_prefix가 my_string의 접두사이기 때문에 1을 return 합니다.
입출력 예 #2

예제 2번에서 is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.
입출력 예 #3

예제 3번에서 is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.
입출력 예 #4

예제 4번에서 is_prefix가 my_string의 접두사가 아니기 때문에 0을 return 합니다.

풀이

function solution (my_string, is_prefix) { // 매개변수 my_string, is_prefix
	let answer = 0;
    
    for (let i = 0; i < is_prefix.length; i++) { // 반복문 i를 is_prefix만큼 실행
    	if (my_string.startsWith(is_prefix) { // my_string의 startsWith로 is_prefix 속 문자가 사용되면 true, false 반환하는 메소드
        	return 1; // 맞으면 1로 반환
        } else {
        	return 0; // 아니면 0으로 반환
        }
    }
}

풀이 해석

  • 사실 answer는 여기서 안써서 let answer를 지워도 됩니다.
  • for문을 돌려 i는 0부터 시작
  • i(0)과 is_prefix의 길이만큼 비교해서 3개면 3개까지, 4개면 4개까지 length로 비교
  • i와 is_prefix.length를 비교해 그 길이만큼 ++ 증가연산을 합니다.
  • if문을 넣어 my_string의 startsWith()를 사용해 is_prefix 확인 후 true, false 노출
  • return을 돌려 맞으면 1, 아니면 0으로 반환하도록 합니다.

startsWith()

startsWith는 어떤 문자열이 특정 문자로 시작하는 지 확인 후 결과를 true, false로 보여주는 메서드이다.

startsWith의 예시

const str1 = "My Person";
const str2 = "Person, Hello!";

console.log(str1.startsWith("Person")); // false
console.log(str2.startsWith("Person")); // true

endsWith()

endsWith는 어떤 문자열이 특정 문자로 끝나는 지 확인 후 결과를 true, false로 보여주는 메서드이다.

endsWith()의 예시

const str3 = "This Blood";
const str4 = "Blood PDT";

console.log(str3.endsWith("Blood")); // true
console.log(str4.endsWith("Blood")); // false

profile
반가워요

0개의 댓글

Powered by GraphCDN, the GraphQL CDN