ধরুন আমাদের একটি স্ট্রিং s আছে শুধুমাত্র ছোট হাতের অক্ষর বা বড় হাতের অক্ষর সংখ্যা নয়। ছোট হাতের এবং বড় হাতের অক্ষর উভয়ই যথাক্রমে একই ক্রম অনুসরণ করে কিনা তা আমাদের পরীক্ষা করতে হবে। সুতরাং, যদি ছোট হাতের অক্ষরে একাধিকবার আসে তাহলে বড় হাতের অক্ষরে একই অক্ষরের উপস্থিতি একই হবে।
সুতরাং, যদি ইনপুটটি s ="piPpIePE" এর মত হয়, তাহলে আউটপুটটি True হবে, কারণ ছোট হাতের অক্ষর এবং বড় হাতের অক্ষরগুলির উপস্থিতি একই, এবং তারা ছোট হাতের এবং বড় হাতের অক্ষরেও একই ক্রমে রয়েছে৷
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- লোয়ারকেস :=ফাঁকা স্ট্রিং, বড় হাতের :=ফাঁকা স্ট্রিং
- আমি 0 থেকে s - 1 এর পরিসরের জন্য, কর
- যদি s[i] বড় হাতের অক্ষর হয়, তাহলে
- বড় হাতের অক্ষর :=বড় হাতের সংকলন s[i]
- অন্যথায়,
- ছোট হাতের অক্ষর :=ছোট হাতের সংকলন s[i]
- যদি s[i] বড় হাতের অক্ষর হয়, তাহলে
- to_upper :=ছোট হাতের অক্ষরে রূপান্তর করুন
- সত্য প্রত্যাবর্তন করুন যখন to_upper বড় হাতের সমান অন্যথায় মিথ্যা হয়
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def solve(s) : lowercase = "" uppercase = "" for i in range(len(s)) : if ord(s[i]) >= 65 and ord(s[i]) <= 91 : uppercase += s[i] else : lowercase += s[i] to_upper = lowercase.upper() return to_upper == uppercase s = "piPpIePE" print(solve(s))
ইনপুট
"piPpIePE"
আউটপুট
True