js + leecode 솔 문제: No. 686 중복 중첩 문자열 일치

두 문자열 A 와 B 를 지정 하고 중복 중첩 문자열 A 의 최소 횟수 를 찾 아 문자열 B 를 중첩 문자열 A 의 하위 문자열 로 만 들 고 존재 하지 않 으 면 - 1 로 되 돌려 줍 니 다.
예 를 들 어 A = "abcd", B = "cdabcdab".
정 답 은 3 입 니 다. A 가 세 번 반복 해서 'abcdabcdabcd' 이기 때 문 입 니 다. 이때 B 는 하위 문자열 입 니 다.A. 두 번 반복 해서 'abcdabcd' 입 니 다. B 는 하위 문자열 이 아 닙 니 다.
메모: A 와 B 문자열 의 길 이 는 1 과 10000 구간 범위 내 에 있 습 니 다.
/**
 * @param {string} A
 * @param {string} B
 * @return {number}
 */
var repeatedStringMatch = function(A, B) {
    const minCount = Math.ceil(B.length / A.length) + 1;
    const minLongStr = A.repeat(minCount);
    //     B ,     -1
    if (minLongStr.includes(B)) {
        return A.repeat(minCount - 1).includes(B) ? minCount - 1 : minCount;
    } else {
        return -1;
    }
};

좋은 웹페이지 즐겨찾기