এই সমস্যায়, আমাদের দুটি স্ট্রিং দেওয়া হয়েছে str এবং conStr। আমাদের কাজ হলো যাচাই করা যে একটি স্ট্রিং অন্য একটি দেওয়া স্ট্রিং দিয়ে শুরু এবং শেষ হয় কিনা।
উদাহরণ দিয়ে সমস্যাটি বোঝা যাক
ইনপুট: str = "abcprogrammingabc" conStr = "abc"
আউটপুট: True
সমাধানের পদ্ধতি
এই সমস্যাটি সমাধান করতে, আমাদের চেক করতে হবে স্ট্রিংটি conStr দিয়ে শুরু এবং শেষ হচ্ছে কিনা। এর জন্য প্রথমে স্ট্রিং এবং conStr-এর দৈর্ঘ্য বের করব। তারপর চেক করব len(str) > len(conStr) কিনা, না হলে false রিটার্ন করব। এরপর স্ট্রিং-এর প্রিফিক্স এবং সাফিক্স (যাদের দৈর্ঘ্য conStr-এর সমান) চেক করব যে সেগুলো conStr-এর সমান কিনা।
সমাধানটি ব্যাখ্যা করে প্রোগ্রাম
#include <bits/stdc++.h>
using namespace std;
bool isPrefSuffPresent(string str, string conStr) {
int size = str.length();
int consSize = conStr.length();
if (size < consSize)
return false;
return (str.substr(0, consSize).compare(conStr) == 0 &&
str.substr(size - consSize, consSize).compare(conStr) == 0);
}
int main() {
string str = "abcProgrammingabc";
string conStr = "abc";
if (isPrefSuffPresent(str, conStr))
cout << "The string starts and ends with another string";
else
cout << "The string does not start and end with another string";
return 0;
}
আউটপুট
The string starts and ends with another string