Easy Basic Logic ⭐ Universal Screening

FizzBuzz Solution in Python, C & JavaScript (Clean & Extensible)

Problem Statement

For i from 1 to n: print FizzBuzz if divisible by 3 and 5, Fizz if 3, Buzz if 5, else print the number.

Example
Input: n = 15
Output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
Time Complexity
O(n)
Space Complexity
O(n) output

The Intuition

String concatenation pattern — build output string by appending Fizz and Buzz independently, then fall back to str(i) if still empty.

Solution Code

def fizzBuzz(n):
    res = []
    for i in range(1, n+1):
        s = ""
        if i % 3 == 0: s += "Fizz"
        if i % 5 == 0: s += "Buzz"
        res.append(s or str(i))
    return res
void fizzBuzz(int n) {
    for (int i = 1; i <= n; i++) {
        if (i%15==0) printf("FizzBuzz\n");
        else if (i%3==0) printf("Fizz\n");
        else if (i%5==0) printf("Buzz\n");
        else printf("%d\n", i);
    }
}
function fizzBuzz(n) {
    return Array.from({length: n}, (_, i) => {
        i++;
        let s = "";
        if (i % 3 === 0) s += "Fizz";
        if (i % 5 === 0) s += "Buzz";
        return s || String(i);
    });
}

Frequently Asked Questions

Q: Why string concatenation over if/else?
The concatenation pattern is open for extension (add Jazz for 7) without changing existing conditions — it follows the Open/Closed Principle.

Practice These Problems in a Real Curriculum

DoxaTech Hub's 10-month programme covers Data Structures, Algorithms, Python, C, SQL, and Full-Stack Development through 40 weeks of real, graded projects.

Get Started → More Problems