## DEV Community is a community of 719,971 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Naya Willis

Posted on

# Leetcode: FizzBuzz

Today, I will be solving the famous FizzBuzz code challenge on Leetcode. The instructions are as follows.

# Instructions

For numbers with multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”. The twist is, they want you to return the string representation of each output stored in an array.

# Overview

``````const fizzBuzz = n => {
// Code goes here
};
``````

# Let's play

### Step 1:

I created 2 variables. One to handle a counter in a while loop, and one to store fizz buzz values as strings.

let count = 1 //Starting at 1 because we only want to check from number 1 to n

``````let results = []
``````

### Step 2:

Start the while loop

``````while(count <= n) {
if(count % 3 === 0 && count % 5 === 0) {
results.push("FizzBuzz")
} else if(count % 3 === 0) {
results.push("Fizz")
} else if(count % 5 === 0) {
results.push("Buzz")
} else {
results.push(count.toString())
}
count++
}
``````

In this while loop a few things are happening. We set a condition in the while loop to do what ever it is in the while loop block as long as the current count is less than n (n = any number).

Then we setup our if else block. The first one is checking to see if count divided by both 3 and 5 is equal to 0. We should do this first to avoid having only Fizz or only Buzz print out when it see's that a count is divisible by ONLY that number. So remember, it should be FizzBuzz when count is divisible by both 3 and 5. If it is we push the string "FizzBuzz" into the results array.

In the else if's we are checking if count is divisible only by 3, and then only by 5. In that case either "Fizz" or "Buzz" will be appended to the array.

In the event that count isn't divisible by either 3 or 5 we'll stringify the current count and then append it to the array. For example => 1. 1 is not divisible by 3 or 5 so we'll just push 1 as a string ( "1" ).

Finally we return the results array. So after all is good we have...

``````const fizzBuzz = n => {
let count = 1
let results = []
while(count <= n) {
if(count % 3 === 0 && count % 5 === 0) {
results.push("FizzBuzz")
} else if(count % 3 === 0) {
results.push("Fizz")
} else if(count % 5 === 0) {
results.push("Buzz")
} else {
results.push(count.toString())
}
count++
}
return results
};
``````