54 lines
1.2 KiB
JavaScript
54 lines
1.2 KiB
JavaScript
// Problem: Write a function that determines whether or not a given string is a palindrome.
|
|
// Framework
|
|
// 1. Understand the problem
|
|
// ○ Given: string
|
|
// ○ Output: True/False
|
|
// ○ Examples:
|
|
// § Racecar
|
|
// § A car, a man, a maraca.
|
|
// ○ Assumptions:
|
|
// § Ignore punctuations
|
|
// § Ignore capitalization
|
|
// 2. Strategize: Visually
|
|
//
|
|
// 3. Strategize: Written
|
|
// ○ Create array A for given string
|
|
// ○ Sanitize array
|
|
// § Remove punctuation, spacing, capitalization
|
|
// ○ Create a copy of array A reversed
|
|
// ○ Store it in Array B
|
|
// ○ Compare Array A & B
|
|
|
|
|
|
|
|
const palindromes = function (input){
|
|
let startString =input.toLowerCase().replace(/[ ,.!?;:'"()\-_]/g,'').split("");
|
|
const endString = startString.map(x=>x); //If did = startString, endString REFERENCES start string, we dont want that so use map
|
|
console.log(startString);
|
|
endString.reverse();
|
|
console.log(startString);
|
|
console.log(endString);
|
|
return startString.toString() === endString.toString();
|
|
};
|
|
|
|
palindromes('ZZZZ car, a man, a maracaz.')
|
|
// palindrome("racecar");
|
|
// palindrome("Racecar");
|
|
// palindrome("A car, a man, a maraca.");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Do not edit below this line
|
|
module.exports = palindromes;
|