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

ตรวจสอบว่าสามารถทำซ้ำสตริงเพื่อสร้างสตริงอื่นใน Python . ได้หรือไม่


สมมติว่าเรามีสตริง s และ t สองสตริง เราต้องหาจำนวนครั้งที่สตริง s สามารถต่อกันเพื่อสร้าง t หากเราไม่สามารถสร้าง t โดยใช้ s ได้ ให้คืนค่า -1

ดังนั้น หากอินพุตเป็น s ="tom" t ="tomtomtom" เอาต์พุตจะเป็น 3 เนื่องจากเราสามารถต่อ "tom" 3 ครั้งเพื่อให้ได้ "tomtomtom"

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้าขนาดของ t ไม่หารด้วยขนาดของ s แล้ว
    • คืน -1
  • cnt :=ผลหารของ (ขนาดของ t / ขนาดของ s)
  • s :=ต่อ s cnt จำนวนครั้ง
  • ถ้า s เหมือนกับ t แล้ว
    • คืนสินค้า
  • คืน -1

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

ตัวอย่าง

def solve(s, t):
   if(len(t) % len(s) != 0):
      return -1;
   cnt = int(len(t) / len(s))
   s = s * cnt
   if(s == t):
      return cnt
   return -1
s = "tom"
t = "tomtomtom"
print(solve(s, t))

อินพุต

"tom", "tomtomtom"

ผลลัพธ์

3