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', () => {
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 processedString = string.toLowerCase().replace(/[^a-z]/g, "");
const processedString = string.toLowerCase().replace(/[^a-z0-9]/g, "");
return processedString.split("").reverse().join("") == processedString;
};

View File

@ -24,4 +24,7 @@ describe('palindromes', () => {
test('works with numbers in a string', () => {
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) {
if (count < 0) return "OOPS";
if (count === 0) return 0;
let a = 0;
let b = 1;
for (let i = 1; i < count; i++) {
const temp = b;
b = a + b;
a = temp;
}
return b;
const fibonacci = function(count) {
if (count < 0) return "OOPS"
const fibPart = [0, 1];
for (let index = 1; index < count; index++) {
fibPart.push(fibPart[index] + fibPart[index -1]);
}
return fibPart[count];
};
module.exports = fibonacci;

View File

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