El parser es mas bien directo ya que el formato es trivial a estas alturas "2,3,4,5,2" 🧐
el ciclo de vida del "lanterfish" es cuestion de entenderlo bien.. una vez hecho la implementacion es trivial. El pez evoluciona estados y opcionalmente tienen un vástago...
Evolucionar la escuela (una simple lista de peces) se vuelve cuestión de procesar cada pez y añadir los recien nacidos para el siguiente ciclo..
Con esto la parte 1 es mas bien trivial: evolucionar el cardumen de peces durante 80 días..
tanto el test como el puzzle han sido directos sin mucho esfuerzo..
Aprovecharemos la facilidad para tomar un poco el aire..
Una opcion interesante para practicar seria modelar el cardumen como una lista de 8 valores( uno por cada edad) conteniendo el nro. de peces que tienen esa edad y evolucionando el cardumen transpasando cantidades de peces de una edad a otra y añadiendo los nuevos en el valor 8..
Tal como dije la 2º parte "caza" a quellos que usen una simple, asi que he aplicado el sistema q os cuento. calculamos las poblaciones de peces para cada edad y evolucionamos las poblaciones en vez de hacerlo 1 a 1, asi a lo sumo tenemos 9 Integer para todo el cardumen de peces..
Para ello contamos los peces de cada edad que nos dan en la lista del fichero de datos...
Evolucionar las poblaciones es muy sencillo una vez que (como dije) entiendes bien el ciclo de vida del pez...
Probamos el fichero de test y luego el del puzle sin miedo a desbordar la memoria..
El octavo de #AdventOfCode parte 2 en SQL. Un poco ñapas para mi gusto pero es lo que hay!
Empezamos como siempre..
Limpiamos linea alinea y separamos x, y, altura para cada arbol usando CTEs en secuencia.
Cruzamos cada arbol con su scan a derecha, izquierda, arriba y abajo con sub-consultas correlacionadas. Hay que cambair el orden de los que devuleven para que quedan en funcioón del punto de vista. Cada resultado se agrega en un array.
#AdventOfCode 5 Supply Stacks en SQL puro (PostgreSQL)
Si te gusta el SQL lo vas a flipar (creo) , sígueme en este triste historia (por lo de "La Roja") +
Empezamos como siempre, y toca cargar el fichero de test que ya tiene tela...
Empezamos enumerando las lineas del fichero (ya en la tabla de input), quedandonos con la parte de las pilas y calculando la longitud maxima de entre todas las líneas (por si caso no eran iguales)
Quien no sepa que esto que lea mis otros hilos porque ya va siendo lo mismo todo el rato
Tan facil que no lo voy a despiezar pues creo que se entiende de un vistazo y además esta comenetado. Convierte en rangos y comprueba inclusiones entre ellos.
Bueno, de vuelta al #AdventOfCode 3 Rucksack Reorganization
Empezamos leyendo los datos con ayuda de una tabla y restricciones adecuadas..
He creado una vista con la solución y así la reuso para pasar el test y luego el fichero de entrada del desafío.
Seguidamente os explico, aquí la muestro plegada junto con el código completo.
Empiezo mapeando las prioridades ['a'..'z'] -> [1..26] y ['A'..'Z'] -> [27..52] con dos consultas sencillas y el operador UNION ALL
Este año en la encuesta de evaluación docente me van a crujir los alumnos y seguramente las prácticas de la asignatura son lo más parecido a lo que demandan cuando recién aterrizados en el curro te quejas de lo que no visteis en la universidad
Les hemos hecho currar a base de bien primero un diseño con su modelo entidad relación y su diccionario de datos justificando cada dato cada dominio cada tipo y créeme que les hemos hechi pelear cada punto y cada coma lo mismo para el modelo relacional...
después nos hemos dado un conjunto de datos con muchos defectos han tenido que cargarlos en tablas y examinarlos y razonar sobre qué transformaciones o incluso qué modificaciones a su modelo original deberían hacer ( Y efectuarlas!)