/* 1.- Pensar: buscar la manera de resolver el problema. Si no tenemos una dirección no nos pongamos a andar 2.- Estoy pensando y no se me ocurre nada ¿Qué hago? Divide y vencerás: Todo problema grande se componde problemas pequeños. Intento dividir el problema en partes 3.- ¿Cómo lo haría yo? Busco MI algoritmo (mi manera de resolver el problema) Y miro si me da una pista de cómo decirle al ordenador que lo resuelva Dado un número saber si es capicua. EJ: 2002 es capicua 2020 no es capicua ¿Como sé si un número es capicua? Definición que es igual de alante atrás que de atrás alante Si el número y el número invertido son iguales es capicua y si no no ¿Se yo invertir una cadena? Buscando en internet lo he conseguido: cadena.split('').reverse().join('') let cadena='hola que tal' let res='' for(let i=cadena.length-1;i>=0;i--){ res+=cadena.substring(i,1) } let res='' for(let i=0;i<cadena.length;i++){ res=cadena.substring(i,1)+res } res tengo la cadena invertida */ function capicua (numero) { const invertido = numero.split('').reverse().join('') if (invertido == numero) { return true } else { return false } } function capicuaShort (numero) { const invertido = numero.split('').reverse().join('') return (invertido == numero) } /* SI una frase es capicua o palíndromo ej: 'isaac no ronca asi' Lo mismo que antes pero quitando espacios ¿Se quitar espacios? .replace('/ /g,'') */ function palindromo (cadena) { // Quito los espacios y lo paso a minúsculas cadena = cadena.replace(/ /g, '').toLowerCase() // Invierto la cadena con el truco de internet que es // Pasar a array cada caracter, darle la vuelta y volver a juntar const invertida = cadena.split('').reverse().join('') // Devuelvo directamente la igualdad: si son iguales devuelvo true y si no false return cadena == invertida }