Existen repositorios de código tanto para Swift/iOS como para Kotlin/Android en los que se publicarán semanalmente los mismos retos. Así podrás elegir el que mejor se adapta a tus necesidades (o practicar en ambos).
- #0 - 27/12/21 -
EL FAMOSO "FIZZ BUZZ"
- #1 - 03/01/22 -
¿ES UN ANAGRAMA?
- #2 - 10/01/22 -
LA SUCESIÓN DE FIBONACCI
- #3 - 17/01/22 -
¿ES UN NÚMERO PRIMO?
- #4 - 24/01/22 -
ÁREA DE UN POLÍGONO
- #5 - 01/02/22 -
ASPECT RATIO DE UNA IMAGEN
- #6 - 07/02/22 -
INVIRTIENDO CADENAS
- #7 - 14/02/22 -
CONTANDO PALABRAS
- #8 - 18/02/22 -
DECIMAL A BINARIO
- #9 - 02/03/22 -
CÓDIGO MORSE
- #10 - 07/03/22 -
EXPRESIONES EQUILIBRADAS
- #11 - 14/03/22 -
ELIMINANDO CARACTERES
- #12 - 21/03/22 -
¿ES UN PALÍNDROMO?
- #13 - 28/03/22 -
FACTORIAL RECURSIVO
- #14 - 04/04/22 -
¿ES UN NÚMERO DE ARMSTRONG?
- #15 - 11/04/22 -
¿CUÁNTOS DÍAS?
- #16 - 18/04/22 -
EN MAYÚSCULA
- #17 - 25/04/22 -
LA CARRERA DE OBSTÁCULOS
- #18 - 02/05/22 -
TRES EN RAYA
- #19 - 09/05/22 -
CONVERSOR TIEMPO
- #20 - 16/05/22 -
PARANDO EL TIEMPO
- #21 - 23/05/22 -
CALCULADORA .TXT
- #22 - 01/06/22 -
CONJUNTOS
- #23 - 07/06/22 -
MÁXIMO COMÚN DIVISOR Y MÍNIMO COMÚN MÚLTIPLO
- #24 - 13/06/22 -
ITERATION MASTER
- #25 - 20/06/22 -
PIEDRA, PAPEL, TIJERA
- #26 - 27/06/22 -
Publicación nuevo reto...
Corección retos del 1 al 5 en vídeo
Puedes hacer libremente un fork del proyecto y trabajar con Git para ir sincronizando las actualizaciones del proyecto.
-
Cada lunes se publicará un nuevo reto de código.
-
Cada reto será un nuevo fichero dentro de
WeeklyChallenge2022.playground
donde se indicará la fecha, el enunciado y la información necesaria para llevarlo a cabo. -
Se comunicará en el canal
#🔁reto-semanal
de Discord, en directo desde Twitch y se subirá el enunciado al repositorio. -
Dispondrás de una semana para resolverlo, preguntar tus dudas, debatir y aportar ayuda en el canal de Discord.
-
El lunes siguiente se subirá la resolución al repositorio, se comentará en directo desde Twitch (utilizando alguna solución de entre los asistentes o que se haya realizado una pull request al proyecto) y se añadirá el nuevo reto semanal.
-
Comenzará de nuevo el proceso.
Si no dispones de un editor de código como Xcode, puedes usar un playground online (http://online.swiftplayground.run/) para probar tu código.
Si utilizas un editor como Xcode, puedes ejecutar el código pulsando el símbolo "play ►" en el lateral.
Si quieres unirte a nuestra comunidad de desarrollo, aprender programación de Apps, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en:
Deberás realizar flujos de actualización, sincronización y pull request
desde tu fork
del proyecto hacia el principal (habitualmente nombrado como upstream/main
).
Todo esto se puede hacer desde línea de comandos, pero si prefieres puedes usar clientes gráficos como GitHub Desktop (muy simple) o GitKraken (más avanzado y potente).
- Desde tu repo en la propia web de GitHub podrás realizar muchas acciones.
- Si te resulta más fácil, puedes crear una
branch
(rama) para resolver cada reto y así simplificar lapull request
. También puedes ignorar ciertos ficheros. - Resuelve el ejercicio y realiza
commit
ypush
del mismo a tu proyecto. - Desde GitHub, una vez hecho el
fork
verás opciones como "Contribute" o "Fetch upstream":Contribute
permite abrir unapull request
(deberás seleccionar el mío como repositorio base contra el que comparar tu proyecto). Así yo podré ver los ficheros modificados de tu proyecto con la solución a los retos. Intenta que el título de lapull request
siga esta convención: "Solución Reto #[número del reto]" (Solución Reto #0).Fetch upstream
permite sincronizar tu proyecto con el original en caso de que se haya actualizado.
- Para sincronizar tu proyecto con el original y mantenerlo actualizado también puedes hacer un
merge commit
,squash merge
orebase
(ten en cuenta que cada uno se comporta de una manera, conservando o no tus propios cambios). - Una vez se publique el nuevo reto, la solución del anterior, y comente las soluciones, cerraré las pasadas
pull request
para dejar paso a las que se hagan para el nuevo reto.
Soy ingeniero de software desde hace más de 12 años. Desde hace 4 años combino mi trabajo desarrollando Apps con creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como @mouredev.