Saltar al contenido

Las inmersiones del buzo

Enunciado

Bajo el agua no importa la hora, sino la profundidad, y el reloj de Irene la va anotando: un - por cada metro que baja y un + por cada metro que sube. Una inmersión empieza cuando deja la superficie y termina cuando vuelve a ella; lo que suba y baje mientras tanto, sin salir, es parte de la misma inmersión.

Escribe una función que reciba el registro del día, un texto de - y +, y regrese cuántas inmersiones hizo (un entero). El registro siempre empieza y termina en la superficie, y nunca sube por encima de ella. Con "--+-++" baja 2, sube 1, baja 1 y sube 2: sale a la superficie una sola vez, así que es 1 inmersión. Con "-+-+" son 2. Un registro vacío es un día sin bucear: 0.

Ejemplos

  • El del ejemplo

    "--+-++" → 1

  • Dos inmersiones cortas

    "-+-+" → 2

  • Una sola, bajando y subiendo derecho

    "---+++" → 1

  • Tres de distinto fondo

    "-+--++-+" → 3

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

Empiezas con esto

Python

def inmersiones(registro):
    pass

JavaScript

function inmersiones(registro) {
}
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 →