একটি স্ট্রিংকে "ভালো স্ট্রিং" বলা হয় যদি তাতে কোনো দুটি প্রত্যাশা অক্ষর না থাকে যাতে একটা ছোট হাতের এবং অন্যটা বড় হাতের একই অক্ষর হয় (যেমন aA বা Aa)। এমন জোড়া মুছে দিয়ে স্ট্রিংকে ভালো করতে হবে।
সমস্যা বিবরণ
ইনপুট: s = "popPpulaBbr"
আউটপুট: "popular" (এখানে pP বা Pp এবং Bb মুছে দিয়ে)।
সমাধানের ধাপসমূহ
- একটি খালি লিস্ট
resশুরু করুন। - স্ট্রিংয়ের প্রতিটি অক্ষরের জন্য:
- যদি
resখালি না হয় এবং শেষ অক্ষর বর্তমান অক্ষরের সাথে একই হয় কিন্তু কেস ভিন্ন হয়, তবে শেষ অক্ষরটি মুছে দিন। - অন্যথায় বর্তমান অক্ষertet
res-এ যোগ করুন।
- যদি
res-এর সব অক্ষর জোড়া দিয়ে স্ট্রিং বানিয়ে রিটার্ন করুন।
পাইথন উদাহরণ
def solve(s):
res = []
for ch in s:
if res and res[-1] != ch and res[-1].lower() == ch.lower():
res.pop()
else:
res.append(ch)
return ''.join(res)
s = "popPpulaBbr"
print(solve(s)) # আউটপুট: popular
ইনপুট
"popPpulaBbr"
আউটপুট
popular