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

পাইথনে অ্যালফানিউমেরিক স্ট্রিং থেকে সংখ্যাগুলোর যোগফল বের করার প্রোগ্রাম

একটি অ্যালফানিউমেরিক স্ট্রিং s দেওয়া আছে (ডিজিট ০-৯ এবং লোয়ারকেস লেটার)। স্ট্রিং-এ থাকা সব সংখ্যার যোগফল বের করুন। কনsekutিভ ডিজিটগুলোকে একটা সংখ্যা मानব।

উদাহরণ

s = "hello25world63power86" → আউটপুট: 174

25 + 63 + 86 = 174

এলগরিদম (O(n))

  1. ret := 0, curr := 0
  2. প্রতিটি ক্যারেক্টার ch ইন s:
    • যদি ডিজিট: curr = 10*curr + int(ch)
    • অন্যথায়: ret += curr, curr := 0
  3. 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))  # আউটপুট: 174

ইনপুট / আউটপুট

"hello25world63power86"
174
  1. পাইথন প্রোগ্রামে অ্যারের যোগফল বের করা

  2. লিস্টের কিউমুলেটিভ সাম বের করার পাইথন প্রোগ্রাম

  3. পাইথনে অ্যারের যোগফল বের করা

  4. পাইথন প্রোগ্রাম: স্ট্রিং-এ মিরর ক্যারেক্টার বের করা