diff --git a/09_palindromes/palindromes.spec.js b/09_palindromes/palindromes.spec.js index ba34a4d..90d53e4 100644 --- a/09_palindromes/palindromes.spec.js +++ b/09_palindromes/palindromes.spec.js @@ -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); + }); }); diff --git a/09_palindromes/solution/palindromes-solution.js b/09_palindromes/solution/palindromes-solution.js index bc5ef94..7950015 100644 --- a/09_palindromes/solution/palindromes-solution.js +++ b/09_palindromes/solution/palindromes-solution.js @@ -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; }; diff --git a/09_palindromes/solution/palindromes-solution.spec.js b/09_palindromes/solution/palindromes-solution.spec.js index e8d7e6a..6e31d91 100644 --- a/09_palindromes/solution/palindromes-solution.spec.js +++ b/09_palindromes/solution/palindromes-solution.spec.js @@ -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); + }); }); diff --git a/10_fibonacci/solution/fibonacci-solution.js b/10_fibonacci/solution/fibonacci-solution.js index 77add79..010131c 100644 --- a/10_fibonacci/solution/fibonacci-solution.js +++ b/10_fibonacci/solution/fibonacci-solution.js @@ -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; diff --git a/10_fibonacci/solution/fibonacci-solution.spec.js b/10_fibonacci/solution/fibonacci-solution.spec.js index 89de463..4e6a44d 100644 --- a/10_fibonacci/solution/fibonacci-solution.spec.js +++ b/10_fibonacci/solution/fibonacci-solution.spec.js @@ -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'); });