Respuesta Ejercicio 16 (Preparación TOP Diciembre 2021)

Escribe tu respuesta

Buen día, comparto solución al ejercicio #16, feliz semana.

Problema:

  1. crear una función llamada palindrome que admita como parámetro una cadena de texto y retornar/devolver un dato booleano positivo si

el palindromo se cumple, de lo contrario devolver un dato booleano negativo si no se cumple esta.

Entrada: variable s = string

Salida: valor booleano / true o false

ej :

console.log(palindrome(“anita lava la tina”)) //true

console.log(palindrome(“JavScript es cool”)) //false

Se implementará una función la cual recibirá como parámetro un string a partir de un argumento ingresado dentro de un console.log que llamará

a la función con su argumento para instanciarlo.

Dentro de la función se tomará al argumento y se almacenará dentro de un arreglo y a este se le reorganizará iterando cada elemento del

arreglo inicial para luego almacenarlo dentro de un nuevo arreglo, y luego se validará a partir de un condicional si el arreglo inicial

coincide con el nuevo arreglo, si esta condición se cumple significa que es una palabra palindrome, por lo cual la función deberá devolver

sobre el console.log invocado anteriormente (el cual llama a la función) un valor booleano “true”, en caso de que la condición no se cumpla,

devolverá un valor “false”.

Se admiten caracteres alfanuméricos

El programa pasara por alto la diferencia entre mayúsculas y/o minúsculas.

Algoritmo

  1. Crearemos la función y le asignaremos por nombre “palindrome” y le asignaremos un parámetro llamado “s”.

  2. Definiremos la función almacenando dentro de sí una variable la cual, por medio de un método de JavaScript para arreglos, crearemos

un arreglo que almacene la cadena inicial.

  1. crearemos una variable sobre la cual se almacenará el nuevo arreglo reordenado en sentido contrario.

  2. luego crearemos un método “for” y lo usaremos para iterar sobre el array inicial en sentido descendente.

  3. La función retornara el valor booleano que competa dependiendo a su respuesta mientras comparamos sobre el valor de retorno si

el array inicial es igual al nuevo array

  1. se llamará un método de impresión que mostrará el valor de retorno de la función, llamando dentro de este método a la misma función y

pasándole el argumento que queremos evaluar.

//código//solución


function palindrome (s){
    let fraseAjustada = s.toLowerCase().split(" ").join("");
    let arrayFrase = fraseAjustada.split("")
    let arrayReordenado = [];

    for(i = arrayFrase.length; i > 0; i--){
        arrayReordenado.push(arrayFrase[i-1]);
    }

    return arrayFrase.join("") === arrayReordenado.join("");
}

console.log(palindrome("Atar a la rata"));
console.log(palindrome("vamos makers!"));

//ejercicio_16
//Escribe una funcion llamada palindrome que recibe una cadena de texto s. Determina si la cadena es palindrome considerando sólo caracteres alphanuméricos e ignorando si es mayúscula o minúscula.

function palindrome(cadena){
var arrayCadena = cadena.split(" “) //cadena se convierte en un arreglo
cadena = arrayCadena.join(”").toLowerCase() //se convierte a minusculas
var longitudCadena = cadena.length
var cadena1= [longitudCadena] //se crea arreglo de lungitud igual a cadena
for (var i = 0;i < longitudCadena;i++){
//console.log(“jjj”,i,longitudCadena-i-1,"\n")
cadena1[longitudCadena-i-1] = cadena[i] //se almacena cadena en inversa en arreglo cadena1
}
if (cadena == cadena1.join("")) //se conparan las cadena normal e inversa para saber si son iguales
return true
else
return false
// console.log(cadena,"\n", cadena1)
}

var s = “Atar a la rata” // Output: true
console.log(palindrome(s),s)
s = “vamos makers!” // Output: false
console.log(palindrome(s),s)
s = “A mi loca Colima”
console.log(palindrome(s),s)

Esta es mi respuesta a este Ejercicio:



function palindrome(texto){
let revisaPalabra = texto.split('');
let arregloRevisa = revisaPalabra.reverse();
let revisaPalabra2 = texto.split('');
let resultado1 = revisaPalabra2.join('');
let resultado2 = arregloRevisa.join('');
let resultado = (resultado1.toLowerCase().replaceAll(' ','') === resultado2.toLowerCase().replaceAll(' ',''));
return resultado;
}


console.log(`La palabra ingresada es palindrome?: ${palindrome('Atar a la rata')}`);
console.log(`La palabra ingresada es palindrome?: ${palindrome('vamos makers!')}`);