volver al archivo
16
MAY
día 16 / 30

Patrulla de sueño

Medio
arraysfilterlogic
historia · contexto

Historia

Día 16

La tripulación tenía un protocolo de sueño: nadie autorizado entre las 22:00 y las 06:00 (cabinas, comedor, laboratorio). Solo el oficial de guardia.

El oficial de guardia ese mes era Ari.

Te piden una lista de qué registros de actividad caen en la franja prohibida. Es lo que se llama una patrulla retroactiva. Es lo que Lía llamaba así en sus logs.

objetivo · spec

Tu misión

Tu misión

Implementa horasAnomalas(registros, inicioNocheH, finNocheH) que devuelve los registros cuya hora (entero 0-23) está en la franja nocturna.

La franja es [inicioNocheH, 24) ∪ [0, finNocheH): el día se "corta" a medianoche. Por ejemplo, con inicioNocheH=22, finNocheH=6, cae dentro: 22, 23, 0, 1, 2, 3, 4, 5.

Ejemplo

horasAnomalas(
  [{ hora: 23, actividad: 'x' }, { hora: 10, actividad: 'y' }, { hora: 2, actividad: 'z' }],
  22,
  6
)
// → [{ hora: 23, actividad: 'x' }, { hora: 2, actividad: 'z' }]

Reglas

  • Preserva orden de registros.
  • inicioNocheH >= finNocheH siempre (la franja cruza medianoche).
validación

Casos de prueba

tests/5.casesmostrando 5 de 5
  1. [01]franja 22-6, dos dentro
  2. [02]sin registros
  3. [03]todo dentro del turno
  4. [04]límites: 22 dentro, 6 fuera
  5. [05]Lía compilaba algo a las 3 AM, 4 AM. No era la única vez.