Advent of Code 2022: no pato edition

JonaN

Vaya perrada lo de que haya nombres de carpetas repetidos por todos lados, me ha jodido bien xd. Solución fea pero funciona.

Python, d7
2 respuestas
Colgajo

Día 7 NodeJS

parte 1
parte 2
R

Dia 7 en Python

spoiler

Al final he tirado de recursividad, me parecia mas sencillo para este problema

thenanox

dia 6

NSFW

parte 2 cambiando 4 por 14

Hipnos

Día 7 usando anytree con Python supernoob (me he montado un puto filesystem):

2

El output es bonito aún así:

1
Naith

¿Con imagen se lee mejor que con [code]?

Codigo
1 respuesta
Soumynon

#186 Yo diría la segunda, el tag code además por lo que he experimentado puede alterar las tabulaciones y hacer más difícil la lectura.

Ahí va el mío, no lo pongo en imagen porque no me cabe xD. No estoy contento con la que he liado con la recursiva que me calcula el tamaño de los directorios, que debería ser pura y no lo es. Me dan un martillo para clavar un clavo y te lo uso para cualquier cosa, llevo ya 3 con recursividad xD

Día 7. NodeJS. Parte 1 y 2.
2
thenanox

pregunta seria, os ha pasado en el input del dia 7 que un directorio se llame igual a otro? me jode mi approach a saco porque tenia un mapa bien bonito y tengo colisiones por no montarme la puta estructura gigante

2 respuestas
Naith

#188 por lo que dice #181 parece que si.

1 1 respuesta
thenanox

#189 joder justo no habia leido a #181. me pasa igual, pero bueno tengo una alternativa

B

#188 Te refieres a que haya dos directorios llamados igual pero que cuelguen de diferente sitio?

1 1 respuesta
amelM

day 7 - python.
La estructura es así porque lo estoy haciendo con TDD y pytest para saber cuando llego a la solución. (el que haya directorios con el mismo nombre también me la ha jugado a mi)

NSFW
thenanox

#191 a esto me referia si. tenia un mapa donde el current directory era la clave, y claro colisionaba, al final he ido por el path completo

Day 7 part 1

NSFW

part 2

NSFW
nobody1

D7 c++

spoiler
PiradoIV

La tontunada del día (del día 6, en concreto):

S

Estáis haciendo una sobre ingeniería brutal recorriendo arboles y funciones recursivas, simplemente usando el path completo como clave se puede guardar cada directorio en un mapa.

1 4 respuestas
R

#196 es sobreingenieria usar dfs para recorrer un árbol?

1 respuesta
S

#197 Obviamente si por que no es necesario recorrer ningún árbol.

1 respuesta
nobody1

#196 Agree, pero vas a lo fácil en la p1 y después en la p2 te la lían y te toca rehacerlo.
pd.:

R

#198 es mejor hacer split y join constantemente sobre el path para poder actualizar todos los padres (que es como funcionan las que he visto con dict)

Que además, ninguna de las dos formas me parece mal. DFS te lo haces en una función de 10-15 líneas y probablemente funcione más rápido.

B

#196 usar paths completos como clave es de forma implicita un arbol, no?

1 1 respuesta
Hipnos

A mí todo lo que no sea un árbol me parece una solución mala. Para que luego tengas miles de carpetas dentro de carpetas y cada vez strings más largas en las que hacer búsquedas...

2 1 respuesta
TheBrotha

De parte de Desu:

HAHAHAHA

Este a;o no hay ni rust ni haskells ni nada raro?

Bueno mejor eso que no dejarlo al 5 dia porque no entiendes una monad

HAHAHAHA

https://gist.github.com/vrnvu/ca5c34fee059a62da4aab501ca230f1e

4
R

#201 bueno esta es otra. Es un árbol, hagas lo que hagas lo tienes que recorrer. En el caso de usar rutas, pues cuando haces splits estás subiendo en el árbol y cuando haces joins bajando

gonya707

La de hoy muy facil en comparacion con ayer, hasta ahora habia hecho todo con python a pelo pero en esta numpy era demasiado tentador

1 respuesta
B

He vuelto a python porque como dice #205 algunas cosas de numpy lo hacian tentador

spoiler
1
Flashk

#202 +1 personalmente a mi no me parece sobreingeniería usar una estructura de datos que encaja perfectamente con la topología que tienen los datos del problema facilitándote la vida.

Por esa regla de 3, los coches son sobreingeniería, porque podríamos usar simplemente carruajes y caballos como hace siglos. xD
Probablemente el problema del día 7 haya sido el que más me ha divertido hasta el momento este año porque me ha dado la oportunidad de generar un árbol y recorrerlo.

1 respuesta
PiradoIV

La de hoy ha sido algo tediosa, sin todas esas cosas que tenéis en Python xD

JonaN
Python, d8
S
#207Flashk:

Por esa regla de 3, los coches son sobreingeniería, porque podríamos usar simplemente carruajes y caballos como hace siglos. xD

Estas usando una estructura mas avanzada que la que necesita el problema, es la definición de sobre ingeniería. La comparación correcta seria como usar el coche para ir a tirar la basura o un avión para ir a 50 km. El coche es mas moderno que ir andando pero es innecesario.

Si no es eso sobre ingenieria ya me dirás tu que es.

1 respuesta