Saltar al contenido

Las mareas altas

Enunciado

En el puerto de Salina, la boya del muelle anota el nivel del agua cada hora. Los pescadores llaman marea alta a una medida que es mayor que la de la hora anterior y también mayor que la de la hora siguiente.

Escribe una función que reciba la lista de niveles (enteros, pueden ser negativos) y regrese cuántas mareas altas hay, como entero.

La primera y la última medida no tienen dos vecinas, así que nunca cuentan. Ser igual a una vecina no basta: tiene que ser mayor que las dos. Una lista vacía o de menos de tres medidas regresa 0.

Con [2, 5, 3, 4, 4, 1, 6, 2]: el 5 es mayor que 2 y que 3, y el 6 es mayor que 1 y que 2. Los dos 4 no cuentan, porque cada uno es igual a su vecino. Regresas 2.

Ejemplos

  • El ejemplo

    [2, 5, 3, 4, 4, 1, 6, 2] → 2

  • Una sola marea

    [1, 3, 2] → 1

  • Solo sube

    [1, 2, 3, 4] → 0

  • Las puntas altas no cuentan

    [5, 1, 5, 1, 5] → 1

  • Bajo el nivel del mar

    [-3, -1, -4, 0, -2] → 2

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def mareas_altas(niveles):
    pass

JavaScript

function mareasAltas(niveles) {
}
Resolver este reto

Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.

Más retos de O(n)

Ver todos los retos →