Skip to main content

Fizz Buzz

Problem

Given an integer n, return a string array answer (1-indexed) where:

  • answer[i] == "FizzBuzz" if i is divisible by 3 and 5.
  • answer[i] == "Fizz" if i is divisible by 3.
  • answer[i] == "Buzz" if i is divisible by 5.
  • answer[i] == i (as a string) if none of the above conditions are true.

 

Example 1:

Input: n = 3
Output: ["1","2","Fizz"]

Example 2:

Input: n = 5
Output: ["1","2","Fizz","4","Buzz"]

Example 3:

Input: n = 15
Output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]

 

Constraints:

  • 1 <= n <= 104

Solution

/**
* @param {number} n
* @return {string[]}
*/
var fizzBuzz = function(n) {
let res = [];
for (let i = 1; i <= n; ++i) {
let s = "";
if (i % 3 === 0) {
s += "Fizz";
}
if (i % 5 === 0) {
s += "Buzz";
}
res.push(s || i.toString());
}
return res;
};

Concatenate either "Fizz" or "Buzz" depending on if the current i divides 3 or 5 (or both).