Bueno pues aquí voy con el día 2 del #adventofcode y seguimos en #SQL. Ahora aprovecharé las "constraints" para asegurarme que leo bien las cosas..
Necesito además calcular los resultados de cada mano según me indican
Calculo todas las manos y las añado a la tabla de scores.
Ya solo que leer el fichero de test con un \COPY en la tabla de input.
El formato sigue siendo asequible...
Y ahora reunimos con la tabla de scores y calculamos la suma. No agrupo sino que uso una función de ventana por lo que hago un DISTINCT de nuevo para quedarme con un solo resultado.
El test sale bien..
Y seguidamente probamos con el fichero de puzzle
Easy cake!
He limpiado un poco la tabla de puntaciones y tambien la de la estrategia. Esoty empezando a crear un workflow para atacar los desafios de cada día.
He unido las consultas de la parte 1 y 2 tanto para el ficherdo de test como con el de input.
Y finalmente puse la respuesta de la 2º parte que... ¡Se me había olvidado!
Y lo dejo que tengo que preparar las prácticas de esta semana, aunque esté de puente, los profes nunca paramos...
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!)
Bueno, pues estaba dejando pasar unos días para evitar spoilers y meditando si hacer en #Python o en #SQL el #AdventOfCode de este año
Así q estoy tonteando con el SQL e hice la 1ª parte del 1er día.. Como tampoco soy un fiera en SQL me lo he currado con CTEs paso a paso (YMMV)
Empecé con un pequeño script que prepara una tabla para leer la entrada. Esta vez parsear la entrada es fácil asi q no me voy a pegar un tiro en el pié al elegir SQL, no sé qué pasará después..
La tabla es temporal y se borrarrá sola al hacer el COMMIT al final del script +
Metemos los valores de test en un ficherito
y vemos que es va a ser bastante fácil leer esto..
bueno pues resulta que como le di la Turra al público de @Josheriff se me ocurrió anoche derivar la fórmula de De Moivre para la sucession de Fibonacci para contarla en Twitter y me dormí, cuando he vuelto de hacer deporte y he ido hacer la cama....
básicamente a partir de la definición de la fórmula de Fibonacci extraemos la ecuación en recurrencias:
T0 =0, T1=1 y Tn=Tn-1 - Tn-2
de aquí sacamos:
Tn - Tn-1 - Tn-2 = 0
cuya ecuación "característica" es
X2- X - 1 = 0
bueno y de aquí desarrollando... ( desde el móvil es bastante complicado poner nada matemático así que hay queda la foto)
Se sabe desde hace tiempo que la programación oculta grandes cantidades de matemáticas.
Ya en 1995 la DARPA en un informe secreto recientemente desclasificado indica que el 99% del software de la industria estaba plagado de isomorfismos y relaciones de orden total y grafos +
Es un secreto a voces q el software de criptografía de curva elíptica, está infectado de grupos abelianos, cuando se suponía que por fin iba a solucionarse la infestación por campos finitos y exponenciación que aquejaban a los sistemas de la generación anterior +
Durante muchos años se ha estudiado como las álgebras de Boole están entre las primeras causas del mal funcionamiento de los ordenadores ya desde la década de los 50. +