ধরুন আমাদের দুটি স্ট্রিং s এবং t আছে, আমাদের খুঁজে বের করতে হবে কতবার স্ট্রিং s টি জেনারেট করতে পারে। যদি আমরা s ব্যবহার করে t তৈরি করতে না পারি, তাহলে -1 রিটার্ন করুন।
সুতরাং, যদি ইনপুট s ="tom" t ="tomtomtom" এর মত হয়, তাহলে আউটপুট হবে 3 কারণ আমরা "tomtomtom" পাওয়ার জন্য "tom" 3 বার সংযুক্ত করতে পারি।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি t এর আকার s এর আকার দ্বারা বিভাজ্য না হয়, তাহলে
- রিটার্ন -1
- cnt :=ভাগফল (t এর আকার / s এর আকার)
- s :=s cnt সংখ্যক বার সংযুক্ত করুন
- যদি s টি হয়, তাহলে
- cnt ফেরত
- রিটার্ন -1
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
def solve(s, t): if(len(t) % len(s) != 0): return -1; cnt = int(len(t) / len(s)) s = s * cnt if(s == t): return cnt return -1 s = "tom" t = "tomtomtom" print(solve(s, t))
ইনপুট
"tom", "tomtomtom"
আউটপুট
3