dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
2.0 KiB
2.0 KiB
id, title, challengeType, dashedName
| id | title | challengeType | dashedName |
|---|---|---|---|
| 69b58ce40693f140c84c855a | Challenge 241: FizzBuzz Validator | 28 | challenge-241 |
--description--
Given an array of sequential integers, with multiples of 3 and 5 replaced, determine if it's a valid FizzBuzz sequence.
In a valid FizzBuzz sequence:
- Multiples of 3 are replaced with "Fizz".
- Multiples of 5 are replaced with "Buzz".
- Multiples of both 3 and 5 are replaced with "FizzBuzz".
- All other numbers remain as integers.
--hints--
isFizzBuzz([1, 2, "Fizz", 4, "Buzz"]) should return true.
assert.isTrue(isFizzBuzz([1, 2, "Fizz", 4, "Buzz"]));
isFizzBuzz([13, 14, "FizzBuzz", 16, 17]) should return true.
assert.isTrue(isFizzBuzz([13, 14, "FizzBuzz", 16, 17]));
isFizzBuzz([1, 2, "Fizz", 4, 5]) should return false.
assert.isFalse(isFizzBuzz([1, 2, "Fizz", 4, 5]));
isFizzBuzz(["FizzBuzz", 16, 17, "Fizz", 19, "Buzz"]) should return true.
assert.isTrue(isFizzBuzz(["FizzBuzz", 16, 17, "Fizz", 19, "Buzz"]));
isFizzBuzz([1, 2, "Fizz", "Buzz", 5]) should return false.
assert.isFalse(isFizzBuzz([1, 2, "Fizz", "Buzz", 5]));
isFizzBuzz([97, 98, "Buzz", "Fizz", 101, "Fizz", 103]) should return false.
assert.isFalse(isFizzBuzz([97, 98, "Buzz", "Fizz", 101, "Fizz", 103]));
isFizzBuzz(["Fizz", "Buzz", 101, "Fizz", 103, 104, "FizzBuzz"]) should return true.
assert.isTrue(isFizzBuzz(["Fizz", "Buzz", 101, "Fizz", 103, 104, "FizzBuzz"]));
--seed--
--seed-contents--
function isFizzBuzz(arr) {
return arr;
}
--solutions--
function isFizzBuzz(arr) {
let start = null;
for (let i = 0; i < arr.length; i++) {
if (typeof arr[i] === "number") {
start = arr[i] - i;
break;
}
}
if (start === null) return false;
for (let i = 0; i < arr.length; i++) {
const n = start + i;
const expected = n % 15 === 0 ? "FizzBuzz" : n % 3 === 0 ? "Fizz" : n % 5 === 0 ? "Buzz" : n;
if (arr[i] !== expected) return false;
}
return true;
}