""" 0412.1 - Fizz Buzz - Solution 1 - Simple Iterative Approach """
#####################################################################################
# Imports
#####################################################################################
from typing import List
#####################################################################################
# Classes
#####################################################################################
class Solution:
"""Solution Class"""
def fizzBuzz(self, n: int) -> List[str]:
"""Fizz Buzz Function"""
answer = []
for i in range(1, n + 1):
if i % 3 == 0 and i % 5 == 0:
answer.append("FizzBuzz")
elif i % 3 == 0:
answer.append("Fizz")
elif i % 5 == 0:
answer.append("Buzz")
else:
answer.append(str(i))
return answer
#####################################################################################
# Functions
#####################################################################################
def testcase():
"""Test Function"""
print(Solution().fizzBuzz(3)) # ["1", "2", "Fizz"]
print(Solution().fizzBuzz(5)) # ["1", "2", "Fizz", "4", "Buzz"]
print(Solution().fizzBuzz(15)) # ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
#####################################################################################
# Main
#####################################################################################
if __name__ == "__main__":
testcase()
""" 0412.2 - Fizz Buzz - Solution 2 - String Concatenation """
#####################################################################################
# Imports
#####################################################################################
from typing import List
#####################################################################################
# Classes
#####################################################################################
class Solution:
"""Solution Class"""
def fizzBuzz(self, n: int) -> List[str]:
"""Fizz Buzz Function"""
answer = []
for i in range(1, n + 1):
s = ""
if i % 3 == 0:
s += "Fizz"
if i % 5 == 0:
s += "Buzz"
answer.append(s if s else str(i))
return answer
#####################################################################################
# Functions
#####################################################################################
def testcase():
"""Test Function"""
print(Solution().fizzBuzz(3)) # ["1", "2", "Fizz"]
print(Solution().fizzBuzz(5)) # ["1", "2", "Fizz", "4", "Buzz"]
print(Solution().fizzBuzz(15)) # ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
#####################################################################################
# Main
#####################################################################################
if __name__ == "__main__":
testcase()