Saltar al contenido

Los charcos del patio

Enunciado

Doña Refugio, la conserje, sale a revisar el patio en cuanto para de llover. No le importan las losetas mojadas una por una, sino los charcos: dos losetas mojadas que se tocan por un lado son el mismo charco, y una que solo toca a otra por la esquina es un charco aparte.

Escribe una función que reciba patio, una lista de textos del mismo largo, donde # es una loseta mojada y . una seca. El patio mide a lo más 12 renglones por 12 losetas, y puede venir vacío o con renglones vacíos.

Regresa un entero: cuántos charcos hay en el patio.

Con ["##.", ".#.", "..#"] hay 2. Las tres primeras losetas mojadas se tocan por un lado y son un solo charco; la última nada más toca por la esquina a la del centro, así que es un charco aparte. Si ninguna loseta está mojada, regresas 0.

Ejemplos

  • El ejemplo

    ["##.", ".#.", "..#"] → 2

  • El patio quedó seco

    ["...", "...", "..."] → 0

  • Un charco en forma de L

    [".#..", ".#..", ".##.", "...."] → 1

  • Una loseta mojada en cada esquina

    ["#.#", "...", "#.#"] → 4

  • Losetas mojadas en diagonal

    ["#..", ".#.", "..#"] → 3

  • Un patio de un solo renglón

    ["#.##.#"] → 3

  • Un patio de una sola columna

    ["#", ".", "#", "#"] → 2

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

Empiezas con esto

Python

def charcos(patio):
    pass

JavaScript

function charcos(patio) {
}
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 →