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

โปรแกรมนับจำนวนครั้งที่สามารถสร้างคำว่า pizza จากตัวอักษรในสตริงใน Python

สมมติว่ามีสตริงตัวพิมพ์เล็ก s เราต้องหาว่าสามารถสร้างคำว่า "pizza" ได้กี่ครั้งจากตัวอักษรใน s ใช้ตัวอักษรได้ในลำดับใดก็ได้ แต่องค์ประกอบแต่ละตัวใช้ได้เพียงครั้งเดียว

เช่น ถ้าอินพุตคือ "ihzapezlzzilaop" ผลลัพธ์จะเป็น 2

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

  • p_freq := ความถี่ของ 'p' ใน s
  • i_freq := ความถี่ของ 'i' ใน s
  • z_freq := ความถี่ของ 'z' ใน s
  • a_freq := ความถี่ของ 'a' ใน s
  • คืนค่า min(p_freq, i_freq, z_freq // 2, a_freq)

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

class Solution:
    def solve(self, s):
        p_freq = s.count('p')
        i_freq = s.count('i')
        z_freq = s.count('z')
        a_freq = s.count('a')
        return min(p_freq, i_freq, z_freq // 2, a_freq)

ob = Solution()
print(ob.solve("ihzapezlzzilaop"))

อินพุต

"ihzapezlzzilaop"

เอาต์พุต

2