ধরুন আমাদের কাছে "0" থেকে "9" এবং ছোট হাতের ইংরেজি অক্ষর সহ একটি আলফানিউমেরিক স্ট্রিং আছে। আমাদের s-এ উপস্থিত সংখ্যার যোগফল বের করতে হবে। যদি সংখ্যাগুলি পরপর হয় তবে সেগুলিকে একক সংখ্যায় বিবেচনা করুন৷
সুতরাং, যদি ইনপুটটি s ="hello25world63power86" এর মত হয়, তাহলে আউটপুট হবে 174 কারণ 25+63+86 =174
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
ret :=0, curr :=0
-
প্রতিটি ch-এর জন্য s, do
-
যদি ch একটি সংখ্যা হয়, তাহলে
-
curr :=10 * curr + (ch একটি পূর্ণসংখ্যা হিসাবে)
-
-
অন্যথায়,
-
ret :=ret + curr
-
curr :=0
-
-
-
রিটার্ন ret + curr
উদাহরণ
আরও ভালোভাবে বোঝার জন্য আসুন নিম্নলিখিত বাস্তবায়ন দেখি
from string import digits
def solve(s):
ret = 0
curr = 0
for ch in s:
if ch in digits:
curr = 10 * curr + int(ch)
else:
ret += curr
curr = 0
return ret + curr
s = "hello25world63power86"
print(solve(s)) ইনপুট
"hello25world63power86"
আউটপুট
174