Los charcos del patio
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- rejillas
- recursión
- ciclos
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):
passJavaScript
function charcos(patio) {
}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²)
- Los códices gemelosciclos · textos · índices
- Los dulces del campamentolistas · ciclos · comparaciones
- Los gritos de la entrenadoraciclos · listas · textos
- Los guerreros de Cadmolistas · ciclos · comparaciones
- Los hot cakes de Don Chuyciclos · listas · índices
- Los papeles que no se cruzanconjuntos · listas · ordenar