|TurnstileDifícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

work

Este ejercicio fue usado en una prueba técnica de empleo.

Turnstile

Difícil200 pts·Prueba Técnica

Enunciado

Hay un molinete que puede ser utilizado para entrar o salir, pero solo una persona puede atravesarlo por segundo.

Se proporciona un arreglo time, donde time[i] representa el segundo en que la persona i llega al molinete.

También se proporciona un arreglo direction, donde:

  • 0 significa que la persona quiere entrar al edificio.
  • 1 significa que la persona quiere salir del edificio.

Si en un mismo segundo llegan varias personas, se forman dos colas:

  • una cola para quienes quieren entrar,
  • otra cola para quienes quieren salir.

Dentro de cada cola, las personas mantienen el orden de llegada (FIFO).

Reglas para decidir quién usa el molinete

Durante cada segundo, el molinete sigue estas reglas:

  1. Si el molinete no fue utilizado en el segundo anterior, tienen prioridad las personas que quieren salir.
  2. Si el molinete fue utilizado para entrar en el segundo anterior, entonces las personas que quieren entrar tienen prioridad.
  3. Si el molinete fue utilizado para salir en el segundo anterior, entonces las personas que quieren salir tienen prioridad.
  4. Si no hay nadie esperando en la dirección con prioridad, utiliza el molinete la primera persona de la otra cola.
  5. Si no hay ninguna persona esperando, el molinete permanece sin utilizar durante ese segundo.
Restriccionesexpand_more
  • Dificultad: Difícil
  • Completa todos los test cases para obtener los 200 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Turnstile — Difícil | Coding Challenges · Coding Challenges