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

C++ প্রোগ্রাম: ভালো স্ট্রিং (Good String) পেতে ক্যারেক্টার রিমুভális গণনা

স্ট্রিং S-এ 'x' এবং 'a' ক্যারেক্টার আছে। কিছু ক্যারেক্টার রিমুভ করে স্ট্রিংকে "ভালো" (Good) করতে হবে। ভালো স্ট্রিং = এর দৈর্ঘ্যের অর্ধেকের চেয়ে বেশি 'a' থাকা। রিমুভাল পর সর্বোচ্চ দৈর্ঘ্য বের করতে হবে।

উদাহরণ

S = "xaxxxxa" → আউটপুট: 3 (৪টি 'x' রিমুভ করলে "xaa", দৈর্ঘ্য ৩, 'a' সংখ্যা ২ > ১.৫)

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

'a'-র সংখ্যা গণনা করুন। সর্বোচ্চ ভালো স্ট্রিং দৈর্ঘ্য = min(n, 2×count('a') - 1)।

উদাহরণ

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

int solve(string S) { 
    int x = 2 * count(S.begin(), S.end(), 'a') - 1; 
    int n = S.size(); 
    return min(n, x); 
} 

int main() { 
    string S = "xaxxxxa"; 
    cout << solve(S) << endl; 
    return 0; 
}

ইনপুট

"xaxxxxa"

আউটপুট

3
  1. C++ প্রোগ্রাম: যোগফল k পেতে ন্যূনতম কয়েন সংখ্যা

  2. C++ প্রোগ্রাম: n কে ১ করার ন্যূনতম অপারেশন (২,৩,৫ দিয়ে ভাগ)

  3. C++ প্রোগ্রাম: সিডি কাউন্ট ও প্রতিটি সিডির ধাপ সংখ্যা

  4. C++ প্রোগ্রাম: দিয়ে দেয়া আকারের ডোডেকাগন बनाने के तरीক সংখ্যা গণনা