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

পাইথনে যাচাই করুন স্ট্রিং রিকার্সিভলি সাবস্ট্রিং ডিলিট করে খালি করা যায় কিনা

ধরুন, দুটি স্ট্রিং s এবং t দেওয়া হয়েছে। আমরা s-থেকে t-কে যেকোনো বার ডিলিট করতে পারি। t একবারে একবারই আসবে। আমাদের যাচাই করতে হবে যে t বারবার রিমুভ করে s-কে খালি করা যায় কিনা।

যেমন, ইনপুট s = "pipipinnn", t = "pin" হলে আউটপুট হবে True, কারণ: "pipipinnn" -> "pin" রিমুভ -> "pipinn" -> "pin" রিমুভ -> "pin" -> "pin" রিমুভ -> খালি।

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

  • while len(s) > 0:
    • position = s.find(t)।
    • যদি position == -1 হয় (পাওয়া যায়নি), তবে ব্রেক করুন।
    • s = s.replace(t, "", 1) (শুধু প্রথম অকুরেন্স রিমুভ করুন)।
  • যদি len(s) == 0 হয়, তবে True ফেরত দিন, অন্যথায় False।

উদাহরণ কোড

def solve(s, t):
    while len(s) > 0:
        position = s.find(t)
        if position == -1:
            break
        s = s.replace(t, "", 1)
    return len(s) == 0

s = "pipipinnn"
t = "pin"
print(solve(s, t))

ইনপুট

"pipipinnn", "pin"

আউটপুট

True
  1. পাইথনে যাচাই করুন চেসবোর্ডে কুইন (রানি) কোনো সেল আক্রমণ করতে পারে কিনা

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

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

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