মান লিজিয়ে আমাদের একটি স্ট্রিং s আছে শুধু লোয়ারকেস বা আপারকেস অক্ষরের সাথে, সংখ্যা নয়। আমাদের যাচাই করতে হবে লোয়ারকেস এবং আপারকেস অক্ষরগুলো প্রত্যেকই একই ক্রমে রয়েছে কিনা। তাই, যদি একটি অক্ষর একাধিকবার লোয়ারকেসে আসে তবে সেটির আপারকেসে것도 একই সংখ্যকবার আসবে।
যেমন, ইনপুট যদি s = "piPpIePE" হয়, তবে আউটপুট হবে True, কারণ লোয়ারকেস এবং আপারকেস অক্ষরগুলোর Ocurrence একই, এবং সেগুলো লোয়ারকেস এবং আপারকেস-এ একই ক্রমেও রয়েছে।
সমাধানের ধাপসমূহ
lowercase :=খালি স্ট্রিং,uppercase :=খালি স্ট্রিংi০ থেকেs-এর সাইজ - ১ পর্যন্ত, করুন:- যদি
s[i]আপারকেস অক্ষর হয়, তবে:uppercase := uppercase + s[i]
- অন্যথায়:
lowercase := lowercase + s[i]
- যদি
to_upper := lowercase-কে আপারকেসে রূপান্তর করুনtrueরিটার্ন করুন যখনto_upperuppercaseসমান, অন্যথায়false
উদাহরণ
বेहतर বোঝার জন্য নিচের বাস্তবায়নটি দেখুন:
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