ให้สตริง s ประกอบตัวเลข 0-9 และตัวอักษร หาผลรวมตัวเลขที่ติดกันถือเป็นจำนวนเดียว
ตัวอย่าง: s="hello25world63power86" → 174 (25+63+86)
ขั้นตอน (Single Pass)
ret=0, curr=0- วน
chในs:- ถ้าเป็น Digit:
curr = 10*curr + int(ch) - มิฉะนั้น:
ret += curr; curr = 0
- ถ้าเป็น Digit:
- คืน
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)) # Output: 174อินพุต
"hello25world63power86"
เอาต์พุต
174