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

C++-এ এনক্রিপ্টেড স্ট্রিং (Decrypted String)-এর k-তম ক্যারেক্টার খুঁজে বের করা


এনকোডেড (encoded) একটি স্ট্রিং দেওয়া আছে, যেটি সাবস্ট্রিং (substring) এবং তার পুনরাবৃত্তির সংখ্যা (count) দিয়ে রিপ্রেজেন্ট করা হয়। উদাহরণস্বরূপ, ab2cd2 বোঝায় ababcdcd, এবং k = 4 হলে k-তম ক্যারেক্টার হবে b।

এটি সমাধানের জন্য প্রাথমিকভাবে খালি ডিক্রিপ্টেড (decrypted) স্ট্রিং নেওয়া হবে, তারপর সাবস্ট্রিং এবং তার ফ্রিকোয়েন্সি (frequency) একে একে পড়ে স্ট্রিংটি ডিকমপ্রেস (decompress) করা হবে। বর্তমান সাবস্ট্রিংকে তার ফ্রিকোয়েন্সি অনুযায়ী ডিক্রিপ্টেড স্ট্রিংয়ে অ্যাপেন্ড (append) করা হবে। এই প্রক্রিয়া স্ট্রিং শেষ হওয়া পর্যন্ত চলবে, এবং ডিক্রিপ্টেড স্ট্রিং থেকে k-তম ক্যারেক্টার প্রিন্ট করা হবে।

উদাহরণ

#include<iostream> using namespace std; char findKthCharacter(string str,int k) {    string decrypted = "";    string temp;    int occurrence = 0;    for (int i=0; str[i]!='\0'; ){       temp = "";       occurrence = 0;       while (str[i]>='a' && str[i]<='z'){          temp += str[i];          i++;       }       while (str[i]>='1' && str[i]<='9') {          occurrence = occurrence*10 + str[i] - '0';          i++;       }       for (int j=1; j<=occurrence; j++)       decrypted = decrypted + temp;    }    if (occurrence==0)    decrypted = decrypted + temp;    return decrypted[k-1]; } int main() {    string str = "ab4c12ed3";    int k = 21;    cout << k << "th character in decrypted string: " << findKthCharacter(str, k); }

আউটপুট

21th character in decrypted string: e

  1. স্ট্রিং-এ ক্যারেক্টার বা অ্যালফাবেটের ফ্রিকোয়েন্সি বের করার C++ প্রোগ্রাম

  2. স্ট্রিংয়ের দৈর্ঘ্য (Length) বের করার C++ প্রোগ্রাম

  3. ক্যারেক্টারের ASCII মান বের করার C++ প্রোগ্রাম

  4. পাইথনে এনকোডেড স্ট্রিং-এর k-th ক্যারেক্টার বের করা (সেট-২)