Add palindrome solution
This commit is contained in:
parent
660b82042a
commit
1dce662019
|
@ -1,6 +1,17 @@
|
||||||
const palindromes = function () {
|
const palindromes = function(str) {
|
||||||
|
let strL = str.toString().toLowerCase().toUpperCase().replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g,"").replace(/[\W_]+/g, "");
|
||||||
|
let newStr = '';
|
||||||
|
for(i = strL.length; i >= 0; i--){
|
||||||
|
newStr += strL.charAt(i);
|
||||||
|
// console.log(newStr)
|
||||||
|
}
|
||||||
|
if (strL === newStr) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
palindromes('lid off a daffodil') // true
|
||||||
|
palindromes('tacos') // false
|
||||||
// Do not edit below this line
|
// Do not edit below this line
|
||||||
module.exports = palindromes;
|
module.exports = palindromes;
|
||||||
|
|
|
@ -4,25 +4,30 @@ describe('palindromes', () => {
|
||||||
test('works with single words', () => {
|
test('works with single words', () => {
|
||||||
expect(palindromes('racecar')).toBe(true);
|
expect(palindromes('racecar')).toBe(true);
|
||||||
});
|
});
|
||||||
test.skip('works with punctuation ', () => {
|
test('works with punctuation ', () => {
|
||||||
expect(palindromes('racecar!')).toBe(true);
|
expect(palindromes('racecar!')).toBe(true);
|
||||||
});
|
});
|
||||||
test.skip('works with upper-case letters ', () => {
|
test('works with upper-case letters ', () => {
|
||||||
expect(palindromes('Racecar!')).toBe(true);
|
expect(palindromes('Racecar!')).toBe(true);
|
||||||
});
|
});
|
||||||
test.skip('works with multiple words', () => {
|
|
||||||
|
//de facut
|
||||||
|
test('works with multiple words', () => {
|
||||||
expect(palindromes('A car, a man, a maraca.')).toBe(true);
|
expect(palindromes('A car, a man, a maraca.')).toBe(true);
|
||||||
});
|
});
|
||||||
test.skip('works with multiple words', () => {
|
|
||||||
|
//de facut
|
||||||
|
test('works with multiple words', () => {
|
||||||
expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(true);
|
expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(true);
|
||||||
});
|
});
|
||||||
test.skip('doesn\'t just always return true', () => {
|
|
||||||
|
test('doesn\'t just always return true', () => {
|
||||||
expect(palindromes('ZZZZ car, a man, a maracaz.')).toBe(false);
|
expect(palindromes('ZZZZ car, a man, a maracaz.')).toBe(false);
|
||||||
});
|
});
|
||||||
test.skip('works with numbers in a string', () => {
|
test('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', () => {
|
test('works with unevenly spaced numbers in a string', () => {
|
||||||
expect(palindromes('r3ace3car')).toBe(false);
|
expect(palindromes('r3ace3car')).toBe(false);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue