문제
첫 번째와 두 번째 인수로 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