समस्या
हमें एक JavaScript फ़ंक्शन लिखना है जो दो स्ट्रिंग्स, str1 और str2, को पहले और दूसरे आर्गुमेंट के रूप में लेता है।
हमारा फ़ंक्शन न्यूनतम संख्या लौटाएगा जितनी बार हमें str1 को दोहराना चाहिए ताकि str2 उसका सबस्ट्रिंग बन जाए। यदि str2 को str1 को दोहराकर सबस्ट्रिंग बनाना असंभव है, तो हमें -1 लौटाना चाहिए।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है:
इनपुट
const str1 = 'wxyz'; const str2 = 'yzwxyzwx';
आउटपुट
const output = 3;
आउटपुट व्याख्या
हम 3 लौटाते हैं क्योंकि str1 को तीन बार दोहराने पर "wxyzwxyzwxyz" बनता है, जिसमें str2 "yzwxyzwx" एक सबस्ट्रिंग के रूप में मौजूद है।
उदाहरण
निम्नलिखित कोड है:
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