I just completed "Transparent Origami" - Day 13 - Advent of Code 2021 adventofcode.com/2021/day/13 #AdventOfCode
El parser como siempre: construimos partes como número, coordenada etc.. Aquí la novedad es instructionP que parsea un "fold" y devuelve un lambda que realiza el doblado propiamente dicho "lambda a: fold(a, x, y)" donde x y son el eje e y la fila ó columna respectivamente.
para construir la hoja desde las coordenadas suminstradas tenemos la función data_to_sheet bastante directa (reseñar que hay que averiguar primero la dimensión de las lista de listas)
Cada instrucción acaba siendo una lambda que llama a fold: Calculamos las nuevas dimensiones tras el doblado y mapeamos los valores de la hoja original a la nueva hoja recalculando las corrdenadas x, y a la nueva geometría.
La primera parte pues construimos la hoja y aplicamos las instrucciones (bueno paramos tras la primera) y contamos el numero de puntos '#' que tiene la hoja plegada.
Tanto el fichero de test como el del puzle salen a la primera sin mas problemas (importante papel y lapiz para los cálculos o TDD lo demas como decía Bonifacio (mi profe de Pascal): "es poner el culo en el teclado")
Estrellita p'al bote:
(importante papel y lapiz para los cálculos o TDD lo demas como decía Bonifacio (mi profe de Pascal): "es poner el culo en el teclado")
En la segunda parte dejamos que se apliquen todas las instrucciones y luego ya por inspección visual obtenemos la respuesta al puzle:
Claramente se ve mi código de licencia (bueno lo he cambiado para que no me lo copiéis 🤪)
Pues ya está ( ya luego si eso empiezo otro..)
Diviértanse
#AdventOfCode2021 #AdventOfCode
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.