Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมนับจำนวน Substring ในสตริงใน Python

สมมติว่าเรามีสตริง s และ substring t ต้องนับว่า t ปรากฏใน s กี่ครั้ง

ตัวอย่าง s = "abaabcaabababaab" t = "aab" ผลลัพธ์ = 3 เพราะมี substring "aab" อยู่ 3 ตำแหน่ง

ขั้นตอนการแก้ปัญหา

  • cnt := 0
  • for i ในช่วง 0 ถึง len(s) - len(t):
    • ถ้า s[i:i+len(t)] == t: cnt += 1
  • คืนค่า cnt

ตัวอย่างโค้ด

def solve(s, t):
    cnt = 0
    for i in range(0, len(s) - len(t) + 1):
        if s[i:i + len(t)] == t:
            cnt = cnt + 1
    return cnt

s = "abaabcaabababaab"
t = "aab"
print(solve(s, t))

อินพุต

"abaabcaabababaab", "aab"

เอาต์พุต

3