কম্পিউটার টিউটোরিয়াল

পাইথনে স্ট্রিং শব্দ তালিকা দিয়ে ভাঙা যায় কিনা যাচাই

একটি শব্দ তালিকা এবং স্পেস-রহিত একটি স্ট্রিং s দেওয়া আছে। s কে শব্দ তালিকায় থাকা শব্দগুলোর সংযোগ দিয়ে গঠন করা যায় কিনা তা যাচাই করতে হবে।

উদাহরণ: words = ["love", "python", "we", "programming", "language"], s = "welovepythonprogramming" হলে আউটপুট True।

সমাধানের ধাপসমূহ

  • words কে সেটে রূপান্তর করুন
  • রিকার্শিভ ফাংশন rec(i) সংজ্ঞায়িত করুন:
    • যদি i == len(s) হয় তবে True ফেরত দিন
    • acc := খালি স্ট্রিং
    • j = i থেকে len(s)-1 পর্যন্ত:
      • acc += s[j]
      • যদি acc words-এ থাকে এবং rec(j+1) True হয় তবে True ফেরত দিন
    • False ফেরত দিন
  • rec(0) কল করুন

উদাহরণ কোড

class Solution:
    def solve(self, words, s):
        words = set(words)
        def rec(i=0):
            if i == len(s):
                return True
            acc = ""
            for j in range(i, len(s)):
                acc += s[j]
                if acc in words:
                    if rec(j + 1):
                        return True
            return False
        return rec()

ob = Solution()
words = ["love", "python", "we", "programming", "language"]
s = "welovepythonprogramming"
print(ob.solve(words, s))

ইনপুট

["love", "python", "we", "programming", "language"], "welovepythonprogramming"

আউটপুট

True
  1. দেওয়া স্ট্রিংটি পাইথন কিওয়ার্ড কিনা চেক করার প্রোগ্রাম

  2. পাইথনে স্ট্রিং প্যাংগ্রাম (Pangram) কিনা চেক করা

  3. পাইথন প্রোগ্রাম: স্ট্রিং হেটেরোগ্রাম (Heterogram) কিনা চেক করা

  4. পাইথনে সাবস্ট্রিং স্ট্রিংয়ে উপস্থিত কিনা যাচাই করার প্রোগ্রাম