volver al archivo
23
MAY
día 23 / 30

Señales externas

Medio
stringsregexparsing
historia · contexto

Historia

Día 23

Las transcripciones de radio mencionan decenas de frecuencias: 121.5 MHz, 50 Hz, 433.92 MHz. Quieres extraerlas todas. Quieres ver si alguna no está en la lista de frecuencias asignadas a la estación.

Lo que encuentres va a cambiar el orden de las cosas.

objetivo · spec

Tu misión

Tu misión

Implementa extraerFrecuencias(texto) que encuentra todos los números seguidos de MHz o Hz (con o sin espacio entre medias) y los devuelve como un array de { valor: number, unidad: 'MHz' | 'Hz' }, en el orden en que aparecen en el texto.

Reglas

  • El número puede ser entero (50) o decimal (121.5, 433.92).
  • El número y la unidad pueden estar pegados o separados por espacios.
  • MHz y Hz distinguen mayúsculas: mhz, khz, GHz no cuentan.

Ejemplo

extraerFrecuencias('canal en 121.5 MHz y 50 Hz')
// → [{ valor: 121.5, unidad: 'MHz' }, { valor: 50, unidad: 'Hz' }]

extraerFrecuencias('sin señales')  // → []
extraerFrecuencias('100MHz')       // → [{ valor: 100, unidad: 'MHz' }]
validación

Casos de prueba

tests/5.casesmostrando 5 de 5
  1. [01]dos frecuencias con espacio
  2. [02]texto sin números con unidad
  3. [03]número y unidad pegados
  4. [04]dos frecuencias sospechosas que no están en la lista de la estación
  5. [05]mhz minúscula rechazada