28702. FizzBuzz
Solutions
js
const testcases = [
{
input: `Fizz
Buzz
11`,
output: `Fizz`,
},
{
input: `980803
980804
FizzBuzz`,
output: `980806`,
},
{
input: `12
Fizz
Buzz`,
output: `FizzBuzz`,
},
{
input: `17
Fizz
19`,
output: `Buzz`,
},
];
function solution(input) {
let result = 0;
const splitedInput = input.trim().split('\n');
splitedInput.forEach((str, idx) => {
if (parseInt(str, 10) === Number(str)) {
result = parseInt(str, 10) + 3 - idx;
}
});
if (result % 3 === 0 && result % 5 === 0) {
return 'FizzBuzz';
} else if (result % 3 === 0) {
return 'Fizz';
} else if (result % 5 === 0) {
return 'Buzz';
}
return result;
}
export default { solution, testcases };
js
const testcases = [
{
input: `Fizz
Buzz
11`,
output: `Fizz`,
},
{
input: `980803
980804
FizzBuzz`,
output: `980806`,
},
{
input: `12
Fizz
Buzz`,
output: `FizzBuzz`,
},
{
input: `17
Fizz
19`,
output: `Buzz`,
},
];
function solution(input) {
let result = 0;
const splitedInput = input.trim().split('\n');
splitedInput.forEach((str, idx) => {
if (parseInt(str, 10) === Number(str)) {
result = parseInt(str, 10) + 3 - idx;
}
});
if (result % 3 === 0 && result % 5 === 0) {
return 'FizzBuzz';
} else if (result % 3 === 0) {
return 'Fizz';
} else if (result % 5 === 0) {
return 'Buzz';
}
return result;
}
module.exports = { solution, testcases };
ts
import type { Input, Output, Testcases } from 'bananass';
const testcases = [
{
input: `Fizz
Buzz
11`,
output: `Fizz`,
},
{
input: `980803
980804
FizzBuzz`,
output: `980806`,
},
{
input: `12
Fizz
Buzz`,
output: `FizzBuzz`,
},
{
input: `17
Fizz
19`,
output: `Buzz`,
},
] satisfies Testcases;
function solution(input: Input): Output {
let result = 0;
const splitedInput = input.trim().split('\n');
splitedInput.forEach((str, idx) => {
if (parseInt(str, 10) === Number(str)) {
result = parseInt(str, 10) + 3 - idx;
}
});
if (result % 3 === 0 && result % 5 === 0) {
return 'FizzBuzz';
} else if (result % 3 === 0) {
return 'Fizz';
} else if (result % 5 === 0) {
return 'Buzz';
}
return result;
}
export default { solution, testcases };
ts
import type { Input, Output, Testcases } from 'bananass';
const testcases = [
{
input: `Fizz
Buzz
11`,
output: `Fizz`,
},
{
input: `980803
980804
FizzBuzz`,
output: `980806`,
},
{
input: `12
Fizz
Buzz`,
output: `FizzBuzz`,
},
{
input: `17
Fizz
19`,
output: `Buzz`,
},
] satisfies Testcases;
function solution(input: Input): Output {
let result = 0;
const splitedInput = input.trim().split('\n');
splitedInput.forEach((str, idx) => {
if (parseInt(str, 10) === Number(str)) {
result = parseInt(str, 10) + 3 - idx;
}
});
if (result % 3 === 0 && result % 5 === 0) {
return 'FizzBuzz';
} else if (result % 3 === 0) {
return 'Fizz';
} else if (result % 5 === 0) {
return 'Buzz';
}
return result;
}
module.exports = { solution, testcases };
Explanation
It can be mathematically proven that among three consecutive strings, at least one of them corresponds to a number that is not 'Fizz', 'Buzz', or 'FizzBuzz'.
Therefore, we determine the next number based on that number, transform it according to the conditions, and output it.