Cada semana un nuevo ejercicio para mejorar tu lógica de programación.

 
Totalmente gratis y a tu ritmo
Basados en pruebas técnicas y entrevistas de trabajo
Usa el lenguaje de programación que quieras
En constante actualización
Corrección y revisión en directo
Con el apoyo de la comunidad. Soluciones a los ejercicios en lenguajes como Kotlin, Swift, JavaScript, TypeScript, Go, Rust, Python, C#, Dart, PHP, Java, Cobol…
 
¿Te parece útil? Compártelo en Twitter
 

→ ¿CÓMO PUEDO PARTICIPAR EN LOS RETOS?

Recuerda que puedes utilizar cualquier lenguaje para resolver los ejercicios.
 
Puedes seguir los siguientes pasos (haz clic para verlos)
  1. ACCEDE al repositorio de GitHub.
  1. Si quieres apoyar el proyecto, puedes hacer "✭ Star” en este.
  1. Haz un FORK del repositorio. En el README del repositorio tienes información más detallada.
  1. En el proyecto tienes un directorio para cada ejercicio. Dentro de cada directorio encontrarás un fichero llamado ejercicio.md con el enunciado de cada reto.
  1. Si quieres compartir tu propia solución de un ejercicio con la comunidad, crea un fichero de código con tu nombre y extensión, y realiza una PULL REQUEST contra el repositorio.
  1. El fichero de código debe situarse dentro del directorio del reto, en la carpeta correspondiente al lenguaje de programación utilizado (si no existe la carpeta del lenguaje, créala con todas sus letras en minúsculas). Por ejemplo, si has resuelto el reto #0 utilizando el lenguaje de programación Kotlin y tu usuario de GitHub se llama mouredev, tu corrección deberá estar en "Retos/Reto #0/kotlin/mouredev.kt”. El título de la Pull Request también debe seguir este formato: "Reto #[número] - [lenguaje_utilizado]”. En el ejemplo anterior sería “Reto #0 - Kotlin". Se rechazarán las Pull Request que no sigan este formato o contengan ficheros adicionales.
  1. Cada SEMANA (consulta el día en el ejercicio correspondiente) realizaré una transmisión en directo desde Twitch corrigiendo el reto, revisando soluciones de la comunidad y publicando un nuevo ejercicio.
  1. Si necesitas ayuda o quieres comentar cualquier cosa sobre los retos semanales, tienes el canal "reto-semanal” en nuestro servidor de Discord (también el día y horario de corrección en la sección “Eventos”).
  1. Puedes proponer Pull Request con propuestas o correcciones sobre ejercicios del resto de la comunidad si estos poseen errores.
  1. Si se te solicita un cambio/corrección en una Pull Request, y al cabo de 2 semanas no se muestra nueva actividad, se cerrará esa petición para mantener el repositorio limpio. Por supuesto, puedes volver a enviar la Pull Request cuando quieras.
 
Guía rápida de Git y GitHub
  1. Hacer un FORK del repositorio de retos semanales desde GitHub.
  1. CLONAR ese repositorio a tu máquina local:
  1. Crear una RAMA para la solución:
  1. Añadir el fichero de tu solución al STAGE:
  1. Hacer COMMIT con mensaje de la solución:
  1. Hacer PUSH:
  1. En nuestro repositorio ir a la rama y hacer PULL REQUEST:
    1. Contribute
    2. Create Pull Request
 

→ PREGUNTAS FRECUENTES

 
¿Puedo utilizar cualquier lenguaje de programación para aportar mi solución?
Por supuesto. Recuerda que lo más importante es entender los pasos lógicos que hemos seguido para llegar a una solución. Los lenguajes de programación suelen ser muy parecidos entre ellos.
¿Puedo resolver un reto si no he realizado los anteriores?
Claro. Los retos no tienen relación entre ellos. Puedes resolverlos de manera totalmente independiente. Simplemente revisa su nivel de dificultad.
¿Cómo consulto las correcciones de un reto?
Una vez se haya cumplido la semana de publicación del reto, podrás consultar mi corrección y las de la comunidad en cualquier lenguaje de programación.
¿Qué pasa si encuentro un error en alguna corrección de un ejercicio?
Como en cualquier programa, pueden existir bugs. Si detectas alguno, simplemente realiza una Pull Request con tu corrección. De esta manera colaboraremos para crear un repositorio cada vez más valioso.
Nombres de directorios "conflictivos" para lenguajes programación
Si tienes dudas con el nombre del directorio de algún lenguaje, intenta consultar el nombre que se ha empleado en ejercicios anteriores. Algunos ejemplos que puedes llegar a dudar:
  • c#, no csharp
  • c++, no cplusplus
  • go, no golang
  • javascript, no js
 
 

¿Quieres estar al tanto de todas las novedades, preguntar dudas o prestar ayuda a la comunidad?

Únete a los canales de chat "reto-semanal” y "reto-mensual” de nuestro servidor gratuito de Discord y consulta la sección “eventos” para no perderte los directos en los que corregimos los ejercicios.
 

RETO DE LA SEMANA ↓

Este es el ejercicio que se está llevando a cabo durante la semana actual. ¿Te animas a participar junto a la comunidad?
 
NOTAS PULL REQUEST:
  • Cuando realices una Pull Request para aportar tu solución al ejercicio sigue esta convención: “Retos/[directorio_reto]/[lenguaje_utilizado]/[usuario_github.extension]" (Ej: Retos/Reto #0/kotlin/mouredev.kt)
  • Para mantener una uniformidad, vamos a intentar mantener una estructura en el título de la Pull Request: "Reto #[número] - [lenguaje_utilizado]” (Ej: Reto #0 - Kotlin)
  • Si la Pull Request no se corresponde con una corrección del ejercicio, describe con claridad en su título y mensaje cuál es la finalidad de esta. Puedes proponer cambios y correcciones en ejercicios del resto de la comunidad si estos no son correctos.
 

Reto #5: ¡HOLA MUNDO!

FÁCIL | Publicación: 30/01/23 | Resolución: 06/02/23
¡Tengo una gran noticia! Twitch nos ha seleccionado como #PequeñaGranComunidad por nuestra labor ayudando a aprender programación a todo el mundo. Puedes leer la noticia aquí. ¡Gracias!
¿Batimos el récord de contribuciones con este ejercicio?
 
Corrección y nuevo reto: Lunes 06/02/23

RETOS CORREGIDOS ↓

Estos son los ejercicios pasados que ya poseen mi corrección y las de la comunidad. Están ordenados desde el más reciente y en cada uno de ellos encontrarás las soluciones agrupadas por lenguaje de programación.