Estoy de acuerdo en que solo conocer algunos idiomas no será suficiente. Como mínimo, debe sentirse cómodo con las estructuras de datos comunes y algunos conceptos de CS relacionados, como la recursividad. La programación dinámica y otras técnicas de optimización también pueden ser útiles.
Muchos de esos acertijos tratan sobre la coincidencia de patrones del problema con las soluciones de la teoría de grafos, generalmente con algún giro para hacerlo más interesante. Una buena clase de algoritmos debe abarcar mucho de lo que necesita saber para hacerlo “correctamente”, y el resto puede completarlo con una buena solución de problemas a la antigua.
Hay algo que decir para hackear soluciones sobre creatividad en bruto, pero ese no es el mejor enfoque cuando estás cronometrado o bajo presión. Como siempre, tener el juego de herramientas adecuado te ayuda a elegir tus batallas.
- ¿Por qué algunas personas no creen en la ley del medio excluido?
- ¿Hay idiomas casi completos de Turing?
- ¿Cómo ha cambiado tu vida Euclides?
- ¿Cuál es la filosofía detrás de Fight Club? ¿Cuáles son los motivos y filosofías de Tyler Durden?
- ¿Los libertarios están menos interesados en la idea de la lógica?