Breaking Bad
ProgramaciónProcesar una cadena de números en dos arrays
Walter White y Jesse Pinkman se han dado cuenta de que la última remesa de bolsas de meta azul que han fabricado no es tan pura como las anteriores. ¡Pero no quieren desperdiciarla!
Así que han decidido hacer lo siguiente para que nadie más se dé cuenta: en cada lote de bolsas van a meter una de mala calidad. Y para diferenciarla de las demás van a etiquetarla con un número “diferente”. Ese número será un número par si el resto de bolsas están identificadas por números impares; o será un número impar si el resto se identifican por números pares.
Y, cómo no, esta misma mañana recibí, a través de Edu, una notificación desde Alburquerque (qué calor).
Señorita Ada:
A partir de una lista de códigos de bolsas de meta azul queremos identificar cuál es “diferente” a las demás: si las demás son pares, cuál es la impar; y viceversa.
Dispondrá de una CADENA de códigos y deberá mostrarnos cuál de ellos no se corresponde con el resto.
Ejemplo de entrada: “1234 2345 3456 1358 2360 2246 8088”
Ejemplo de salida: 2345
Nota: solo habrá una bolsa “diferente”, por lo que validar esa información no es necesario.
Y Edu, para no variar, me puso en situación:
¿Si no es un array, cómo vas a procesar los valores? Necesitarás una lista para pares y otra para impares, ¿no? ¿Vas a hacerlo con un for o utilizarás algún tipo de filtro? ¿Si le pedimos una muestra nos mandarán la buena o la mala?
Sin duda la primera pregunta la tenía clara, y la segunda… también; pero la tercera me dio que pensar y creo que lo resolveré de dos maneras diferentes.
¿Tú cómo lo harías? ¡Deja tus ideas en los comentarios!
Y si quieres compartir código, te recomiendo que utilices alguna herramienta online de testing de código como Codepen, JSFiddle, PlayCode, etc. o repositorios como GitHub, GitLab, BitBucket…
Leire says
Tengo una duda Ada….
La salida que muestras en el ejemplo (“2345”) es la elegida ¿porque termina con un número impar y el resto son pares?
Gracias