Skip to content

Commit 15d2022

Browse files
committed
✨ FizzBuzz
1 parent bf14972 commit 15d2022

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

src/language/fizzbuzz.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { fizzBuzz, isDivisbleBy } from "./fizzbuzz.ts";
2+
import { assertEquals } from "../../deps.ts";
3+
4+
Deno.test("[fizzBuzz]", () => {
5+
const result = fizzBuzz(1);
6+
});

src/language/fizzbuzz.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
export const isDivisbleBy = (n: number, divisor: number) => n % divisor === 0;
2+
3+
export function fizzBuzz(max = 100) {
4+
const result = [];
5+
6+
for (let i = 1; i <= max; i++) {
7+
const isDivisibleBy3 = isDivisbleBy(i, 3);
8+
const isDivisibleBy5 = isDivisbleBy(i, 5);
9+
10+
if (isDivisibleBy3) {
11+
result.push("Fizz");
12+
} else if (isDivisibleBy5 && !isDivisibleBy3) {
13+
result.push("Buzz");
14+
} else {
15+
result.push(i);
16+
}
17+
18+
if (isDivisibleBy3 && isDivisibleBy5) {
19+
result.push("FizzBuzz");
20+
}
21+
}
22+
23+
return result;
24+
}

0 commit comments

Comments
 (0)