La palabra de elementos
- O(2ⁿ) · Legendaria
- Plan completo
- Python
- JavaScript
- recursión
- textos
- índices
Enunciado
Para la feria de química, la maestra Nkechi Obi preparó un juego:
sus alumnos tienen tarjetas con símbolos de elementos y escriben palabras poniéndolas una junto a otra. Cada tarjeta se puede usar las veces que haga falta. Lo que ella quiere saber es de cuántas maneras distintas se puede escribir cada palabra.
Escribe una función que reciba palabra, un texto en minúsculas sin espacios con al menos una letra, y simbolos, una lista de textos en minúsculas, cada uno de una letra o más y sin repetirse (puede venir vacía). Regresa un entero: de cuántas maneras se puede partir la palabra completa, de principio a fin, en trozos seguidos que sean todos símbolos de la lista; un mismo símbolo se puede repetir. Dos maneras son distintas si cortan la palabra en lugares distintos.
Con "pesos" y ["p", "es", "o", "s", "os"] hay 2 maneras: p es o s y p es os. Con "luz" y ["lu", "u", "l"] no hay ninguna, porque ningún símbolo tiene la z: regresa 0.
Ejemplos
El ejemplo
"pesos", ["p", "es", "o", "s", "os"] → 2
No se puede escribir
"luz", ["lu", "u", "l"] → 0
Tres maneras
"cosas", ["c", "o", "s", "co", "as", "os"] → 3
Una tarjeta se usa más de una vez
"oso", ["o", "s", "os"] → 2
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def formas(palabra, simbolos):
passJavaScript
function formas(palabra, simbolos) {
}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(2ⁿ)
- Las bolsas de Mansa Musarecursión · listas · índices
- Las casas de Xibalbárecursión · listas · ciclos
- Las cucharas del abuelorecursión · listas · índices
- Las cuentas de Lilavatirecursión · textos · índices
- Las hornadas de la mañanarecursión · listas · diccionarios
- Las rutas del metrorecursión · listas · ciclos