Giter VIP home page Giter VIP logo

mouredev / retos-programacion-2023 Goto Github PK

View Code? Open in Web Editor NEW
4.9K 47.0 3.0K 22.86 MB

Ejercicios de código semanales en 2023 de la comunidad MoureDev para practicar lógica en cualquier lenguaje de programación.

Home Page: https://retosdeprogramacion.com/semanales2023

License: Apache License 2.0

Java 12.27% Go 2.36% JavaScript 14.92% Elixir 0.09% Swift 2.35% PHP 2.69% Python 38.67% Dart 1.53% C# 7.38% TypeScript 4.42% Shell 0.26% PowerShell 0.14% Rust 3.41% Kotlin 5.09% C 2.01% Scala 0.32% Lua 0.16% C++ 1.67% COBOL 0.15% Pascal 0.12%
challenges csharp go java javascript katas kotlin php python rust

retos-programacion-2023's Introduction

https://retosdeprogramacion.com/semanales2023

Retos de programación semanales 2023

Proyecto de retos semanales de la comunidad MoureDev para practicar lógica de programación utilizando cualquier lenguaje.

Tienes toda la información en retosdeprogramacion.com/semanales2023

Información importante

  • Cada semana se publica un nuevo reto y se corrige en directo desde Twitch el reto de la semana pasada.
  • En la sección "Eventos" de nuestro servidor de Discord encontrarás el día y horario por país de los directos.
  • Puedes utilizar cualquier lenguaje de programación, y encontrar tanto mis correcciones como las de la comunidad en el directorio de cada reto.
  • ¿Quieres participar? Te lo explico en la sección ¿Cómo puedo participar? en este mismo documento.
  • Los retos no tienen relación entre ellos. Puedes resolverlos de manera totalmente independiente. Simplemente revisa su nivel de dificultad.
  • 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.

Listado de retos

Aquí encontrarás el listado de retos, su fecha de publicación, dificultad y enunciado del ejercicio. En su directorio podrás consultar las distintas correcciones del ejercicio agrupadas por lenguaje de programación.

[NUEVO] Retos de programación 2024

Retos Semanales

Puedes ejecutar el archivo language_stats.py para visualizar las estadísticas de uso de cada lenguaje.

Consulta los 52 retos de programación y las 12 aplicaciones para tu portfolio de 2022:

Retos Semanales Retos mensuales

¿Cómo puedo participar?

Haz un FORK del proyecto y trabaja con Git para ir sincronizando las actualizaciones.

  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.
  2. 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.
  3. 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.
  4. 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.
  5. 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”).
  6. Puedes proponer Pull Request con propuestas o correcciones sobre ejercicios del resto de la comunidad si estos poseen errores. De esta manera colaboraremos para crear un repositorio cada vez más valioso.
  7. 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.

Aclaraciones

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

Puedes apoyar mi trabajo haciendo "☆ Star" en el repo o nominarme a "GitHub Star". ¡Gracias!

GitHub Star

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:

Twitch Discord Link

https://mouredev.com Hola, mi nombre es Brais Moure.

Freelance full-stack iOS & Android engineer

YouTube Channel Subscribers Twitch Status Discord Twitter Follow GitHub Followers GitHub Stars

Soy ingeniero de software desde 2010. Desde 2018 combino mi trabajo desarrollando Apps con la creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como @mouredev.

En mi perfil de GitHub tienes más información

Web

retos-programacion-2023's People

Contributors

akihiro93 avatar arielposada avatar asjordi avatar blackriper avatar cesar-ch avatar deathwing696 avatar espinoleandroo avatar jcdm60 avatar jelambrar96 avatar joaquinferrero avatar josepmonclus avatar jpirulo avatar kevined11 avatar klyone avatar kontroldev avatar lemito66 avatar majinka10 avatar malopezrom avatar migueltortg avatar mouredev avatar nlarrea avatar othamae avatar pyramsd avatar qv1ko avatar roswell468 avatar test0n3 avatar tiagoalvarezschiaffino avatar titoworlddev avatar vandresca avatar ycanas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retos-programacion-2023's Issues

Conflicto pull request

Contexto

Compete el primer ejercicio con mi solución y realicé un commit sin problemas. Luego realice el segundo ejercicio "Reto #1 - EL LENGUAJE HACKER [Fácil]"  y agregue mis cambios en un commit.

Antes de hacerlo  realice un "git pull", me dio un alerta. y para solucionarlo ejecute un " git config pull.rebase false" y finalmente subí mi cambio.

Al revisar el nuevo cambio, se unió el primer y el segundo commit y no un commit separado por cada reto como lo esperaba. Entonces decidi quitar mi ultimo cambio y subirlo nuevamente fracmento por gracmente con un "git reset HEAD~"
pero al parecer elimine un commit que no es mio.

fuentes: https://stackoverflow.com/questions/6217156/break-a-previous-commit-into-multiple-commits
commit: #5630

Mouredev Kt code don't work correctly for duplicates and code block errors

fun main() {
   println(playGames(arrayOf(Pair(Game.ROCK, Game.ROCK))))
   println(playGames(arrayOf(Pair(Game.ROCK, Game.SCISSORS))))
   println(playGames(arrayOf(Pair(Game.SCISSORS, Game.ROCK))))
   println(
           playGames(
                   arrayOf(
                           Pair(Game.ROCK, Game.ROCK),
                           Pair(Game.ROCK, Game.ROCK),
                           Pair(Game.ROCK, Game.ROCK),
                           Pair(Game.ROCK, Game.ROCK)
                   )
           )
   )
   println(
           playGames(
                   arrayOf(
                           Pair(Game.SPOCK, Game.ROCK),
                           Pair(Game.SCISSORS, Game.PAPER),
                           Pair(Game.ROCK, Game.ROCK),
                           Pair(Game.LIZARD, Game.SPOCK)
                   )
           )
   )
}

enum class Game {
   ROCK,
   PAPER,
   SCISSORS,
   LIZARD,
   SPOCK
}

fun playGames(games: Array<Pair<Game, Game>>): String {
   val rules: Map<Game, Array<Game>> =
           mapOf(
                   Game.ROCK to arrayOf(Game.SCISSORS, Game.LIZARD),
                   Game.PAPER to arrayOf(Game.ROCK, Game.SPOCK),
                   Game.SCISSORS to arrayOf(Game.PAPER, Game.LIZARD),
                   Game.LIZARD to arrayOf(Game.SPOCK, Game.PAPER),
                   Game.SPOCK to arrayOf(Game.ROCK, Game.SCISSORS)
           )

   var playerOne = 0
   var playerTwo = 0

   for (game in games) {
       if (game.first != game.second) {
           if (rules[game.first]?.contains(game.second) == true) {
               playerOne += 1
           } else {
               playerTwo += 1
           }
       }
   }

   return if (playerOne == playerTwo) "Tie"
   else if (playerOne > playerTwo) "Player 1" else "Player 2"
}

Formato del título de la PR

Hola.

Una cosa que no me termina de quedar claro es si ¿hay algún formato a seguir para el título de las PRs?

Por ejemplo, la primera la mandé con formato: Reto #[NÚMERO-RETO]/[LENGUAJE-UTILIZADO]/[USUARIO].[EXTENSIÓN], ya que por está parte me hizo pensar que ese debía de ser el formato del título:

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”. Se rechazarán las Pull Request que no sigan este formato.

Pero en esta última que hice ya me salía por defecto un formato Solución Reto #[NÚMERO-RETO] [LENGUAJE-UTILIZADO]

Entonces, ¿este último es el formato que se debe de seguir?, ¿hay algún otro formato?, o ¿no importa el formato del título?

Un saludo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.