문제
첫 번째와 두 번째 인수로 str1과 str2라는 두 개의 문자열을 받는 JavaScript 함수를 작성해야 합니다.
우리의 함수는 문자열 str2가 그것의 부분 문자열이 되도록 문자열 str1을 반복해야 하는 최소 횟수를 반환해야 합니다. str2를 반복한 후 부분 문자열이 되는 것이 불가능하면 -1을 반환해야 합니다.
예를 들어, 함수에 대한 입력이
인 경우입력
const str1 = 'wxyz'; const str2 = 'yzwxyzwx';
출력
const output = 3;
출력 설명
"abcdabcdabcd"를 세 번 반복하면 b가 그것의 부분 문자열이기 때문에 3을 반환합니다.
예시
다음은 코드입니다 -
const str1 = 'wxyz';
const str2 = 'yzwxyzwx';
const countRepeat = (str1 = '', str2) => {
let i = 1
let current = str1
while (true) {
if (current.indexOf(str2) >= 0) {
return i
}
if ((current.length > str2.length * 2) && i > 2) {
return -1
}
current += str1
i += 1
}
}
console.log(countRepeat(str1, str2)); 출력
3