Fizz Buzz

easy math string simulation

Problem

Return a string array of length n where the i-th entry (1-indexed) is "FizzBuzz" if i is divisible by 15, "Fizz" if divisible by 3, "Buzz" if divisible by 5, otherwise the number itself.

Inputn = 5
Output["1","2","Fizz","4","Buzz"]
Check divisibility by 15 first so the combined case isn't missed.

def fizz_buzz(n):
    out = []
    for i in range(1, n + 1):
        if   i % 15 == 0: out.append("FizzBuzz")
        elif i %  3 == 0: out.append("Fizz")
        elif i %  5 == 0: out.append("Buzz")
        else:             out.append(str(i))
    return out
function fizzBuzz(n) {
  const out = [];
  for (let i = 1; i <= n; i++) {
    if      (i % 15 === 0) out.push("FizzBuzz");
    else if (i %  3 === 0) out.push("Fizz");
    else if (i %  5 === 0) out.push("Buzz");
    else                    out.push(String(i));
  }
  return out;
}
class Solution {
    public List<String> fizzBuzz(int n) {
        List<String> out = new ArrayList<>();
        for (int i = 1; i <= n; i++) {
            if      (i % 15 == 0) out.add("FizzBuzz");
            else if (i %  3 == 0) out.add("Fizz");
            else if (i %  5 == 0) out.add("Buzz");
            else                  out.add(String.valueOf(i));
        }
        return out;
    }
}
vector<string> fizzBuzz(int n) {
    vector<string> out;
    for (int i = 1; i <= n; i++) {
        if      (i % 15 == 0) out.push_back("FizzBuzz");
        else if (i %  3 == 0) out.push_back("Fizz");
        else if (i %  5 == 0) out.push_back("Buzz");
        else                  out.push_back(to_string(i));
    }
    return out;
}
Time: O(n) Space: O(n)