Vaya perrada lo de que haya nombres de carpetas repetidos por todos lados, me ha jodido bien xd. Solución fea pero funciona.
#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
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
#188 Te refieres a que haya dos directorios llamados igual pero que cuelguen de diferente sitio?
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)
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.
#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.
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...
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
#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
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
#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.
#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.