He estado mas entendiendo el enunciado que otra cosa. Estoy cuajao.
#239 El problema que tienes es que el "mirror" siempre esta entre 2 filas o 2 columnas, nunca encima de 1.
Por ejemplo en este ejemplo mas pequeño: aqui no hay ningun mirror horizontal porque el mirror no puede estar "justo en la fila 1", tiene que estar entre 0-1 o 1-2.
####..#
##.#.#.
####..#
Lo que hay es un mirror vertical entre la 0 y la 1
#250 Me pasó igual que a ti con el problema del "tetris", esa vez me costó bastante hacerlo. El "truco" ya fue aprendido y aplicado para esta vez
Yo voy bastante atrasado.
Me faltan las del puente de diciembre y estuve dos dias intentando sacar la segunda estrella del dia 12 (no consigo reducir la complejidad del calculo).
Hoy he decidido hacer skip hasta el dia actual y ha sido mas engaging.
Tienen un problema con los enunciados, para la parte 1 ya habia implementado los movimientos de la 2 pensando que primero de todo me tenia que asegurar que las rocas no pudiesen avanzar mas al norte.
Bueno, me he puesto al dia un poco. Me quedan pendientes el 10 parte 2 y el 12 las dos partes. Ya veremos si vuelvo a ellos xD
#258 Si, se vienen, a partir del día 15-16 siempre se nota un poco la subida la dificultad. ¡Y encima mañana es finde! vaya hostia se viene XD
Vaya con el enunciado de la parte 2 del dia 15. He ido a leer el inpuit, output y lo que hay alrederor un poco y nada, ha tocado leer mas enunciado
Dia 16
Todavia no toca el superdificil xD
Por cierto, mirando el leaderboard .. no entiendo como alguien puede hacer la parte1 en 2 minutos. Si ya MINIMO leyendo en diagonal y con suerte de no escaparte nada (con suerte) tardarias 20s en leer, como puedes implementar todo eso en 1m30s? xD Tienen que tenerlo ya implementado y hacer copypaste+adaptar o algo , o usar chatgpt etc.
#261 parte 2
El leaderboard, chatGPT descarado, este es posible que una IA fuese capaz de hacerlo.
A mi esta mierda me está jodiendo la autoestima. No soy programador profesional, he aprendido por mi cuenta porque me gusta.
Aunque me fuese costando iba sacando los días, pero hay algunos que no consigo resolver el puzzle o me funciona con los ejemplos pero con el input de 1000 lineas no va, no consigo ver porque no tira y me pongo a mirar código de otra gente y no lo entiendo ni leyendo 100 veces el código ni la explicación. En 10 lineas hacen lo que a mi me ocupa 100.
Se que no puedo compararme con la gente que está en los comentarios mas votados de reddit, que será gente que hace esto a menudo o lleva tiempo programando, o con algunos de vosotros por aquí, gente que sabe programar de verdad, vamos, pero no puedo evitar sentirme inepto.
Seguiré intentándolo.
Dia 17
#265 No te desanimes. Tampoco hay que mezclar 2 skills diferentes, lo que necesitas para trabajar de programador en cualquier empresa es muy diferente a las skills necesarias para este tipo de problemas. En el trabajo es mas diseño/organizacion/trabajo en equipo y esto es mas matematicas/algoritmia.
Como mucho sirve para las entrevistas de trabajo para empresas que usan esto para evaluarte, y aún ahi, el 50% de la valoración es tus habilidades comunicativas, además que suelen poner problemas mas faciles (a no ser que vayas a google/facebook/etc..).
Yo el año pasado tardaba horas en hacer los problemas pero me aficioné hace unos meses a hacer problemas (leetcode/codechef) y tengo bastante interiorizado los algoritmos basicos (dfs, bfs, binarysearch, dijsktra, sliding window...) , que son los que en su mayoria se require para hacer AdventOfCode. Por si te sirve de consuelo, habré hecho unos 300 problemas de este estilo este año xD De hecho, mi motivación para empezar fue igual que tu: Me sentia inepto pensando que me estaba haciendo mayor y ya no se me daba tan bien programar como antes. Pero practicando ya noto la fluidez y sube la autoestima
Con más practica podrás detectar mas facilmente los patrones que suele usar la gente en su codigo. Si yo ahora leo un codigo que usa un algoritmo que no he visto en mi vida, pues me pasara como a ti que no entiendo nada. Y aún cuando reconozco que tipo de algoritmo ha usado (dfs, dynamic programming ...) muchas veces no lo entiendo directamente. También ten en cuenta que el codigo que deja la gente para los problemas de AoC son ultra-sucios porque quieren ir a resolverlo rapido sin preocuparse de nada.
#265 #266 Me parece un tema muy interesante el que habéis planteado de como de diferente es programar los retos Advent of Code y programar en tu trabajo. Me ha gustado mucho tu respuesta @Mandarino . A lo mejor pregunto algo más en el hilo de desarrolladores/programadores junior para no manchar este porque como digo me interesa saber como es un día típico de trabajo de alguien que es desarrollador de software (programador vaya).
Entiendo lo que dices, y racionalmente comprendo que es perfectamente normal, pero el sentimiento de tener que dejar algo aparcado no por tiempo ni ganas si no por no ser capaz es de bajonazo.
Leyendo tu comentario creo que me va a pasar parecido, el momento bajón creo que luego servirá para motivarme y ponerme a hacer leetcode y pasados advent of code o similar!
#268 Mucha gente que ves que se peta los problemas casi al instante o bien tiene mucha experiencia o bien son gente que llevan desde incluso antes de la universidad haciendo concursos de programación, olimpiadas de matemáticas y similares etc y por tanto esto les parece tirado (porque realmente en comparación con la dificultad potencial de estos problemas los del AoC son bastante fáciles).
Pero vaya, es práctica y aprender. Si te interesa mejorar a este respecto yo te recomiendo que sigas esta guía
https://codeforces.com/blog/entry/98806
El resumen viene a ser
- Lee teoría por tu cuenta
- Encuentra un rango de dificultad de problemas tales que seas capaz de resolver la mitad de estos
- No mires nunca soluciones
Como lo que te interesa a ti es saber hacerlos, y no hacerlos rápido, puedes saltarte la parte de practicar "speed-coding".
No te rayes ni dejes que la autoestima se te hunda, es un campo algo niche.