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
|
||||
module.exports = palindromes;
|
||||
|
|
|
@ -4,25 +4,30 @@ describe('palindromes', () => {
|
|||
test('works with single words', () => {
|
||||
expect(palindromes('racecar')).toBe(true);
|
||||
});
|
||||
test.skip('works with punctuation ', () => {
|
||||
test('works with punctuation ', () => {
|
||||
expect(palindromes('racecar!')).toBe(true);
|
||||
});
|
||||
test.skip('works with upper-case letters ', () => {
|
||||
test('works with upper-case letters ', () => {
|
||||
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);
|
||||
});
|
||||
test.skip('works with multiple words', () => {
|
||||
|
||||
//de facut
|
||||
test('works with multiple words', () => {
|
||||
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);
|
||||
});
|
||||
test.skip('works with numbers in a string', () => {
|
||||
test('works with numbers in a string', () => {
|
||||
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);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue