Merge pull request #357 from marlatte/fibonacci_palindromes_fixes
09_palindrome and 10_fibonacci: Update solutions
This commit is contained in:
commit
25013df6ac
5 changed files with 17 additions and 12 deletions
|
@ -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);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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');
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue