একটি স্ট্রিং S দেওয়া আছে। একটি টেক্সট এডিটরে নিচের নিয়মে ওয়ার্ড ক렉্টর কাজ করে: যতক্ষণ এক সাথেই দুটি স্বরবর্ণ থাকে, ততক্ষণ প্রথম স্বরবর্ণটি মুছে ফেলা হয়। যদি কোনো দুটি আড়াঝড়া স্বরবর্ণ না থাকে, তবে ওয়ার্ডটি সঠিক বলে মाना হয়। সংশোধিত ওয়ার্ড বের করতে হবে। স্বরবর্ণ: a, e, i, o, u, y।
উদাহরণ
S = "poor" → আউটপুট: "por" (দুটি 'o' থাকায় প্রথম 'o' মুছে গেল)।
সমাধানের ধাপসমূহ
n := S-এর সাইজ
t := "aeiouy"
for i := 1 to n-1:
if S[i] t-তে আছে এবং S[i-1] t-তে আছে:
S-র i-তম ক্যারেক্টার ডিলিট করুন
i := i - 1
return S
সি++ কোড উদাহরণ
#include <bits/stdc++.h>
using namespace std;
string solve(string S) {
int n = S.size();
string t = "aeiouy";
for (int i = 1; i < n; i++) {
if (t.find(S[i]) != string::npos && t.find(S[i-1]) != string::npos) {
S.erase(i, 1);
i--;
}
}
return S;
}
int main() {
string S = "poor";
cout << solve(S) << endl;
}
ইনপুট
"poor"
আউটপুট
por