Code Challenge Gym es un repositorio para practicar algoritmos, estructuras de datos y preparación para entrevistas técnicas usando Python y JavaScript.
Code Challenge Gym is a repository designed for practicing algorithms, data structures, and technical interview preparation using Python and JavaScript.
Este repositorio funciona como un entorno de entrenamiento estructurado para:
- Reforzar pensamiento algorítmico
- Practicar estructuras de datos
- Preparar entrevistas técnicas
- Mantener una biblioteca personal de soluciones
- Validar soluciones mediante tests automatizados
This repository acts as a structured training environment for:
- Strengthening algorithmic thinking
- Practicing data structures
- Preparing for coding interviews
- Maintaining a personal algorithm reference library
- Validating solutions using automated tests
Cada ejercicio tiene dos pistas de trabajo:
starter: espacio donde escribes tu propia soluciónsolution: referencia oficial del repositorio
Esto permite practicar sin ver la solución hasta haber intentado resolver el problema.
Each exercise provides two tracks:
starter: your workspace to implement the solutionsolution: the official reference implementation
This ensures you can practice without immediately seeing the reference answer.
fundamentals/: problemas organizados por patron de entrevistapython/: 100 ejercicios por niveljavascript/: 100 ejercicios por niveltemplates/: archivos base para crear nuevos ejerciciostools/: scripts para crear ejercicios y ejecutar testsdocs/: documentacion de uso y plan de estudio
problem.md: enunciadostarter.py: aqui practicas tu solucionsolution.py: solucion oficial de referenciatest_starter.py: test para validar tu intentotest_solution.py: test para validar la referencia oficial
problem.md: enunciadostarter.js: aqui practicas tu solucionsolution.js: solucion oficial de referenciatest_starter.test.js: test para validar tu intentotest_solution.test.js: test para validar la referencia oficial
- Entra al ejercicio y lee
problem.md. - Resuelve el problema en
starter.pyostarter.js. - Ejecuta el test del
starter. - Si tu intento falla, corrigelo y vuelve a probar.
- Cuando termines, abre
solution.pyosolution.jsy compara. - Si quieres verificar la referencia oficial, corre el test de
solution.
Study workflow:
- Read the problem
- Implement your solution
- Run tests
- Fix failing cases
- Compare with the reference solution
- Analyze improvements
starter= lo haces tusolution= lo consultas despues
Python usa unittest, asi que no necesitas instalar dependencias extra.
Instala dependencias una sola vez:
npm installpython tools/run_all_tests.pypython tools/run_all_tests.py --python --track solutionpython tools/run_all_tests.py --javascript --track solutionpython tools/run_all_tests.py --python --track starterpython tools/run_all_tests.py --javascript --track starterAtencion: los starter estan pensados para que los completes tu. Si no implementas nada, esos tests van a fallar.
python tools/run_exercise.py --language python --track starter --path fundamentals/arrays/two-sum/pythonpython tools/run_exercise.py --language python --track solution --path fundamentals/arrays/two-sum/pythonpython tools/run_exercise.py --language javascript --track starter --path fundamentals/arrays/two-sum/javascriptpython tools/run_exercise.py --language javascript --track solution --path fundamentals/arrays/two-sum/javascriptpython tools/create_exercise.py --language python --level beginner --name "binary search warmup"python tools/create_exercise.py --language javascript --level intermediate --name "graph traversal review"- Todos los ejercicios ya tienen estructura completa para practicar.
- No todas las
solutioncontienen una solucion avanzada real todavia. - Algunas si ya fueron resueltas como referencia completa.
- La separacion
starter/solutionya queda preparada en todo el repositorio.
Empieza por fundamentals/. Resuelve en starter, ejecuta el test del starter y recién después compara con solution.
Start with fundamentals/. Solve using starter, run the tests, and only afterwards compare with the solution.
- Algoritmos
- Estructuras de datos
- Ingeniería de software
- Preparación para entrevistas técnicas
-
Algorithms
-
Data structures
-
Software engineering
-
Technical interview preparation
MIT.
- Arrays
- Strings
- Hash Maps
- Stacks
- Queues
- Recursion
- Trees
- Graphs
- Dynamic Programming
- Beginner: 40 exercises
- Intermediate: 40 exercises
- Advanced: 20 exercises