JS Coding Question #7: Classic Fizz Buzz ...

JS Coding Question #7: Classic Fizz Buzz (one-liner 🤯)

Sep 18, 2021

Interview Question #7:

Write a function that will print from 1 to 100. Print 'fizz' for multiples for 3. Print 'buzz' for multiples of 5. Lastly, print 'fizzbuzz' for multiples of 3 and 5.🤔

If you need practice, try to solve this on your own. I have included 2 potential solutions below.

Note: There are many other potential solutions to this problem.

Feel free to bookmark 🔖 even if you don't need this for now. You may need to refresh/review down the road when it is time for you to look for a new role.

Code if you want to play around with it: https://codepen.io/angelo_jin/pen/MWobgqj

Sample Output:

fizzbuzz

Solution #1: if-else (Recommended)

  • A straight-forward approach using the good old if-else statements. It is nice because it is easy to implement and you can code this while you are explaining to the interviewer what is happening statement per statement.

  for (let i = 1; i <= 100; i++) {
    // Is the number a multiple of 3 and 5?
    if (i % 3 === 0 && i % 5 === 0) {
      console.log('fizzbuzz')
    } else if (i % 3 === 0) {
      // Is the number a multiple of 3?
      console.log('fizz')
      // Is the number a multiple of 5?
    } else if (i % 5 === 0) {
      console.log('buzz')
    } else {
      console.log(i) 
    }
  }

Solution #2: Nice, fancy one-liner

  • I would stay away from this on an actual interview as you would look like a leetcode material/master. You may mention that you saw a one-liner solution using couple of ternary and you are aware. Might get a bonus for that.

  for(let i=0;i<100;)console.log((++i%3?'':'fizz')+(i%5?'':'buzz')||i)

Happy coding and good luck if you are interviewing!

Here is youtube if you like to watch a video instead. Like and subscribe so you don't miss out on updates. Thank you.

https://youtu.be/IEluJCkOMvc


Enjoy this post?

Buy letscode77 a coffee

More from letscode77