• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Cursos online y materiales digitales para estudiantes y desarrolladores web

  • CURSOS
  • BLOG
  • QUIÉN SOY
  • FAQ
  • ACCEDER
  • CONTACTO

array

Reto resuelto: gestión de pasajeros del expreso de Hogwarts

Publicado el 21/05/2020 por Ada Leave a Comment

Harry Potter

Harry Potter

Programación

Procesar un array bidimensional


Una semana más recibimos un reto desde el mismo Colegio Hogwarts de Magia y Hechicería que titulamos “Gestión de pasajeros del expreso de Hogwarts“.

Enunciado del reto:

El reto decía:

Señorita Ada:
Necesitamos controlar el número de pasajeros que llegan al final de un trayecto teniendo en cuenta cuántos suben y bajan en cada parada.
Le facilitaremos una lista del tipo: [s1,b1][s2,b2][s3,b3]… donde en cada par de elementos va el número de pasajeros que se suben (s) y el número de pasajeros que se bajan (b). Así, procesando esa lista, sabremos el número de pasajeros finales que debería llegar a fin de trayecto.
Ejemplo de entrada: [[7,0][8,2][9,5][3,1]]
Ejemplo de salida: 19 pasajeros
* Nota: En el primer par de números, el segundo siempre será 0 porque en la estación de origen no se baja nadie. No hace falta controlar ese número: se lo facilitaremos siempre de manera correcta.

Para solventarlo se nos ocurrió hacerlo de dos maneras:

  • Una clásica, que desde el punto de vista de la algoritmia es aplicable a la mayoría del resto de lenguajes de programación de alto nivel (Java, C, C++…).
  • Otra propia de Javascript que utiliza una interesante función llamada reduce.

Pero recordad, ¡no hay una única solución al problema; hay soluciones mejores y soluciones peores!

¿Qué aprenderás en el vídeo?

Así que en este vídeo os explico:

  • Cómo procesar un array bidimensional utilizando un bucle for.
  • Cómo funciona la función reduce de Javascript para convertir un array en un único valor.
  • Cómo trabajar con la función reduce y una función arrow pasándole el array de dos modos diferentes.

Vídeos y código fuente

¡Al lío! ¡Echa un ojo al vídeo!

Código fuente de la solución
[restrict] [/restrict] [not_logged_in]¡Ups! Este contenido es solo para codelovers, ¿no te has registrado aún? ¡Hazlo ahora! ¡Regístrate o accede!
[/not_logged_in]

¿Tú cómo lo habrías hecho? ¡Deja tus ideas en los comentarios!

Y si quieres compartir código, te recomiendo que utilices alguna herramienta online de testing de código como Codepen, JSFiddle, PlayCode, etc. o repositorios como GitHub, GitLab, BitBucket…

Filed Under: Ejercicio resuelto, Reto Tagged With: array, harry potter, javascript, reto

Reto: Gestión de pasajeros del expreso de Hogwarts

Publicado el 11/05/2020 por Ada 10 Comments

Harry Potter

Harry Potter

Programación

Procesar un array bidimensional


Acceder al reto en formato vídeo

Todo el mundo sabe que el Expreso de Hogwarts sale del andén 9 y 3/4 de la estación de trenes de King’s Cross, en Londres, y llega a al pueblo de Hogsmeade, donde se encuentra el Colegio Hogwarts de Magia y Hechicería. Sin paradas. Del tirón.

Por lo visto, quieren facilitar a sus estudiantes la movilidad entre el colegio y sus localidades de origen sin necesidad de tener que viajar a Londres, así que está montando una aplicación que controle, entre otras cosas, cómo es ese movimiento de pasajeros.

El mismo Albus Dumbledore se puso en contacto conmigo a través de su fénix, Fawkes, para transmitirme una de las funcionalidades que necesitan en su nuevo programa de gestión de trenes.

Señorita Ada:
Necesitamos controlar el número de pasajeros que llegan al final de un trayecto teniendo en cuenta cuántos suben y bajan en cada parada.
Le facilitaremos una lista del tipo: [s1,b1][s2,b2][s3,b3]… donde en cada par de elementos va el número de pasajeros que se suben (s) y el número de pasajeros que se bajan (b). Así, procesando esa lista, sabremos el número de pasajeros finales que debería llegar a fin de trayecto.
Ejemplo de entrada: [7,0][8,2][9,5][3,1]
Ejemplo de salida: 19 pasajeros
* Nota: En el primer par de números, el segundo siempre será 0 porque en la estación de origen no se baja nadie. No hace falta controlar ese número: se lo facilitaremos siempre de manera correcta.

Y cómo no, Edu con sus preguntas:

¿Vas a utilizar un for para recorrer los arrays? ¿O crees que necesitarás dos? ¿Has oído hablar de las funciones reductoras? ¿Los que no somos magos también podemos ir a Hogwarts? ¿Crees que habrá vagón bar en el tren?

Esta vez tenía mucho más clara la propuesta y cómo resolverla… aunque, sin duda, y como siempre… no había una única manera de hacerlo.

¿Tú cómo lo harías? ¡Deja tus ideas en los comentarios!

Y si quieres compartir código, te recomiendo que utilices alguna herramienta online de testing de código como Codepen, JSFiddle, PlayCode, etc. o repositorios como GitHub, GitLab, BitBucket…

Filed Under: Reto Tagged With: array, harry potter, javascript, reto

Footer

Didacticode

Cursos para estudiantes y docentes del mundo de la informática.
Retos: retos resueltos de programación.
Tips&Tricks: trucos y consejos.
Boleticodes: boletines de noticias.
Quiénes somos: Ada, Edu... y Laura.
Contacto¡Contacta conmigo!

Legal

Aviso legal
Política de privacidad
Cookies

Redes Sociales

Youtube
Twitter
Instagram
Facebook
Twitch
LinkedIn
Gitlab
Github

Didacticode © 2026

¡Cómo no! Este sitio también utiliza cookies para mejorar la experiencia de tu visita.

Puedes informarte más sobre qué cookies estamos utilizando o desactivarlas en los .

Resumen de privacidad
Didacticode

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.