Merge pull request #357 from marlatte/fibonacci_palindromes_fixes

09_palindrome and 10_fibonacci: Update solutions
This commit is contained in:
Cody Loyd 2023-06-08 07:15:50 -05:00 committed by GitHub
commit 25013df6ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 17 additions and 12 deletions

View file

@ -22,4 +22,7 @@ describe('palindromes', () => {
test.skip('works with numbers in a string', () => { test.skip('works with numbers in a string', () => {
expect(palindromes('rac3e3car')).toBe(true); expect(palindromes('rac3e3car')).toBe(true);
}); });
test.skip('works with unevenly spaced numbers in a string', () => {
expect(palindromes('r3ace3car')).toBe(false);
});
}); });

View file

@ -1,5 +1,5 @@
const palindromes = function (string) { const palindromes = function (string) {
const processedString = string.toLowerCase().replace(/[^a-z]/g, ""); const processedString = string.toLowerCase().replace(/[^a-z0-9]/g, "");
return processedString.split("").reverse().join("") == processedString; return processedString.split("").reverse().join("") == processedString;
}; };

View file

@ -24,4 +24,7 @@ describe('palindromes', () => {
test('works with numbers in a string', () => { test('works with numbers in a string', () => {
expect(palindromes('rac3e3car')).toBe(true); expect(palindromes('rac3e3car')).toBe(true);
}); });
test('works with unevenly spaced numbers in a string', () => {
expect(palindromes('r3ace3car')).toBe(false);
});
}); });

View file

@ -1,14 +1,10 @@
const fibonacci = function (count) { const fibonacci = function(count) {
if (count < 0) return "OOPS"; if (count < 0) return "OOPS"
if (count === 0) return 0; const fibPart = [0, 1];
let a = 0; for (let index = 1; index < count; index++) {
let b = 1; fibPart.push(fibPart[index] + fibPart[index -1]);
for (let i = 1; i < count; i++) {
const temp = b;
b = a + b;
a = temp;
} }
return b; return fibPart[count];
}; };
module.exports = fibonacci; module.exports = fibonacci;

View file

@ -16,6 +16,9 @@ describe('fibonacci', () => {
test('25th fibonacci number is 75025', () => { test('25th fibonacci number is 75025', () => {
expect(fibonacci(25)).toBe(75025); expect(fibonacci(25)).toBe(75025);
}); });
test('0th fibonacci number is o', () => {
expect(fibonacci(0)).toBe(0);
});
test("doesn't accept negatives", () => { test("doesn't accept negatives", () => {
expect(fibonacci(-25)).toBe('OOPS'); expect(fibonacci(-25)).toBe('OOPS');
}); });