สมมติว่าเรามีตัวเลข n เราต้องหาสตริงที่แสดงตัวเลขทั้งหมดตั้งแต่ 1 ถึง n แต่เราต้องปฏิบัติตามกฎบางประการ
-
เมื่อตัวเลขหารด้วย 3 ลงตัว ให้ใส่ Fizz แทนตัวเลข
-
เมื่อตัวเลขหารด้วย 5 ลงตัว ให้ใส่ Buzz แทนตัวเลข
-
เมื่อตัวเลขหารด้วย 3 และ 5 ลงตัวทั้งคู่ ให้ใส่ FizzBuzz แทนตัวเลข
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- สำหรับตัวเลขทั้งหมดตั้งแต่ 1 ถึง n,
- ถ้าตัวเลขหารด้วย 3 และ 5 ลงตัวทั้งคู่ ให้ใส่ “FizzBuzz”
- มิฉะนั้นเมื่อตัวเลขหารด้วย 3 ลงตัว ให้ใส่ “Fizz”
- มิฉะนั้นเมื่อตัวเลขหารด้วย 5 ลงตัว ให้ใส่ "Buzz"
- มิฉะนั้นให้เขียนตัวเลขเป็นสตริง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution(object):
def fizzBuzz(self, n):
result = []
for i in range(1,n+1):
if i% 3== 0 and i%5==0:
result.append("FizzBuzz")
elif i %3==0:
result.append("Fizz")
elif i% 5 == 0:
result.append("Buzz")
else:
result.append(str(i))
return result
ob1 = Solution()
print(ob1.fizzBuzz(15)) อินพุต
15
ผลลัพธ์
['1', '2', 'Fizz', '4', 'Buzz', 'Fizz', '7', '8', 'Fizz', 'Buzz', '11', 'Fizz', '13', '14', 'FizzBuzz']