The Code Maverick (3/3 💉) Profile picture
Dec 7, 2021 15 tweets 6 min read Read on X
Bueno pues "Hydrothermal venture" no ha resultado muy complicado, me temo que voy a flipar cuando llegue al 6...

Os cuento...

*SPOILERS* *SPOILERS

#AdventOfCode2021 #adventofcode
El parser de parsy se come la lista de segmentos de una tacada, aqui nada que ver salvo que quieras aprender un poco de Parsy.
Convierto los segmentos x0, y0 -> x1, y1 a (x0, y0, x1, y1)
filtramos los segmentos vert. y horiz. calculamos el grid necesario y dibujamos cada segmento en el grid (expandiendo horizontal o verticalmente en puntos (x, y) y anotando 1 en el grid por cada paso.
Finalmente contamos los solapamientos.
(código sin cometarios que me canso).
draw se encarga de "dibujar" los puntos de la expansion de cada segmento sumando uno al valor del grid en la coordenada x, y
unroll se encarga de expandir cad segmento bien en vertical u horizontal bien en diagonal
Aqui os dejos las expansiones. Usando compresiones de lista generamos todos los puntos intermedios en un sentido u otro.
Pues con todo ello atacamos los datos de test de la primera parte.. perfecto!
Confiados nos atrevemos con el puzzle...
Bueno me puedo tomar un descanso para la segunda parte...
La segunda parte nos pide observar las diagonales y calcular los solapamientos por lo que modificamos la segunda parte quitando el filtro H/V
para las expansiones diagonales tengo una funcion _step ya que las compresiones de lista no generaban caminos en diagonal sino cambios en vertical y horizantal consecutivos (el cartesiano de x, y entre origen y destino)
Y ya podemos probar con los datos de test...
Y seguidamente atacamos el puzzle...
Bueno pues ya estaría. Perdonad la parquedad de comentarios pero asi me canso menos tecleando (el pinzamiento va mejorando pero aun cuesta mover el grazo izquierdo)

Diviertanse!

#AdventOfCode2021 #adventofcode

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with The Code Maverick (3/3 💉)

The Code Maverick (3/3 💉) Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @maverick_code

Dec 14, 2022
El octavo de #AdventOfCode parte 2 en SQL. Un poco ñapas para mi gusto pero es lo que hay!

Empezamos como siempre.. Image
Limpiamos linea alinea y separamos x, y, altura para cada arbol usando CTEs en secuencia. Image
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. Image
Read 11 tweets
Dec 7, 2022
I just completed "Tuning Trouble" - Day 6 - Advent of Code 2022 adventofcode.com/2022/day/6 #AdventOfCode

Seguimos a lomos del SQL, a veces bien a veces hay que tirar de constorsionismos imposibles (o mi nivel no me dá para ello) Image
Empezamos como siempre... Image
Limpiamos el pescado, enumeramos y nos preparamos,,, Image
Read 9 tweets
Dec 6, 2022
Le saqué algo en claro al partido de España...

#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... Image
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) ImageImage
Read 26 tweets
Dec 6, 2022
La primera parte de Camp Cleanup es obscenamente fácil ¿Se vecina uno de esos giros famosos del #AdventOfCode ?

De momento os cuento como lo hice en SQL

#AdventOfCode22
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.

Ridiculamente fácil
Read 8 tweets
Dec 5, 2022
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
Read 23 tweets
Dec 4, 2022
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!)
Read 16 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(