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

সি++-এ রিকার্সিভলি সাবস্ট্রিং ডিলিট করে স্ট্রিং খালি করা সম্ভব কিনা চেক করা


মান লযয আমাদের দুটি স্ট্রিং দেওয়া আছে, str1 এবং str2। str2, str1-এর একটি সাবস্ট্রিং, এবং আমরা str1 থেকে str2 ডিলিট করতে পারি। সম্ভবত str2, str1-এ একাধিকবার আছে। আমাদের লক্ষ্য হলো বের করা str1 কি নাল স্ট্রিং হয়ে যায় যদি আমরা বারবার str2 str1 থেকে ডিলিট করি। যদি সম্ভব হয়, 1 ফেরত দিন, অন্যথায় 0।

তাহলে, যদি ইনপুট হয় str1 = "CCCPPPPPP", str2 = "CPP"; তবে আউটপুট হবে true।

এটি সমাধান করার জন্য আমরা নিচের ধাপগুলো অনুসরণ করব:

  • যখন str1-এর সাইজ > 0:
    • index := str1-এ str2-এর শুরু পজিশন
    • যদি index == -1, তবে লুপ থেকে বের হোন
    • str1 থেকে str2 ডিলিট করুন
  • যদি str1-এর সাইজ ০ হয়, 1 ফেরত দিন, অন্যথায় 0।

উদাহরণ (C++)

বेहतर বুঝতে নিচের ইমপ্লিমেন্টেশন দেখুন:

#include<bits/stdc++.h> 
using namespace std; 

bool solve(string str1, string str2) { 
    while (str1.size() > 0) { 
        int index = str1.find(str2); 
        if (index == -1) 
            break; 
        str1.erase(index, str2.size()); 
    } 
    return (str1.size() == 0); 
} 

int main() { 
    string str1 = "CCCPPPPPP", str2 = "CPP"; 
    cout << solve(str1, str2) << endl; 
    return 0; 
}

ইনপুট

"CCCPPPPPP", "CPP"

আউটপুট

1
  1. C++ প্রোগ্রাম: স্ট্রিং দুটি অল্টারনেটিং ক্যারেক্টার দিয়ে বানানো কিনা চেক

  2. C++-এ একটি স্ট্রিং সাব-স্ট্রিং কন্টেইন করে কিনা চেক করা

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

  4. পাইথনে স্ট্রিং স্লাইসিং ব্যবহার করে রিকার্সিভ ডিলিশন দিয়ে খালি স্ট্রিং সম্ভব কিনা যাচাই করা