Skip to content

Commit 4c689ab

Browse files
committed
fizzbuzz implmentation in javaScript
1 parent 8a5d222 commit 4c689ab

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

FizzBuzz.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Approach 1(Naive)
2+
3+
var fizzBuzz = function (n) {
4+
let resultArray = [];
5+
6+
for (let i = 1; i <= n; i++) {
7+
if (i % 3 === 0 && i % 5 === 0) {
8+
resultArray[i - 1] = "FizzBuzz";
9+
} else if (i % 5 === 0) {
10+
resultArray[i - 1] = "Buzz";
11+
} else if (i % 3 === 0) {
12+
resultArray[i - 1] = "Fizz";
13+
} else {
14+
resultArray[i - 1] = i.toString();
15+
}
16+
}
17+
return resultArray;
18+
};
19+
20+
// Approach2(optimised)
21+
22+
let fizzBuzz = (n) => {
23+
let hashMap = new Map();
24+
let arr = [];
25+
26+
hashMap.set(3, "Fizz");
27+
hashMap.set(5, "Buzz");
28+
29+
for (let i = 1; i <= n; i++) {
30+
let output = "";
31+
for (let key of hashMap.keys()) {
32+
if (i % key == 0) {
33+
output += hashMap.get(key);
34+
}
35+
}
36+
if (output == "") {
37+
output = i.toString();
38+
}
39+
arr.push(output);
40+
}
41+
return arr;
42+
};

0 commit comments

Comments
 (0)