6 Ejercicio 1

 馃搶 Ejercicio 1: Verificar si dos palabras son anagramas

¿Sab铆as que "Par铆s" y "prisa" son anagramas? 馃く Dos palabras son anagramas si contienen las mismas letras, con las mismas frecuencias, pero en distinto orden.

馃攳 Soluci贸n propuesta

python

def anagrama(s1, s2):

    # Eliminar espacios y convertir a min煤sculas

    s1 = s1.replace(" ", "").lower()

    s2 = s2.replace(" ", "").lower()

    

    # Casos base

    if s1 == s2:

        return False  # Misma palabra no cuenta

    if len(s1) != len(s2):

        return False  # Longitudes diferentes

    

    # Contador de frecuencias

    contador = {}

    

    # A帽adir letras de s1 al contador

    for letra in s1:

        if letra in contador:

            contador[letra] += 1

        else:

            contador[letra] = 1

    

    # Restar letras de s2 al contador

    for letra in s2:

        if letra in contador:

            contador[letra] -= 1

        else:

            return False  # Letra no existe en s1

    

    # Verificar que todas las frecuencias sean 0

    for valor in contador.values():

        if valor != 0:

            return False

    

    return True

馃И Ejemplos de uso

python

print(anagrama("Par铆s", "prisa"))  # True ✅

print(anagrama("poder", "Pedro"))  # True ✅

print(anagrama("hola", "aloh"))    # True ✅

print(anagrama("casa", "saca"))    # True ✅

print(anagrama("gato", "pato"))    # False ❌

馃摑 Explicaci贸n

  1. Normalizaci贸n: Eliminamos espacios y convertimos a min煤sculas para evitar diferencias por formato.

  2. Casos base:

    • Si las palabras son id茅nticas → False.

    • Si tienen longitudes diferentes → False.

  3. Diccionario de frecuencias:

    • Contamos cada letra en s1 y luego restamos las de s2.

    • Si todas las frecuencias terminan en 0, son anagramas.

馃挕 ¿Se te ocurre otra forma de resolverlo?

¡Comparte tu soluci贸n en los comentarios! 馃憞

#Python #Programaci贸n #Anagramas #Algoritmos #Ejercicios


Notas adicionales:

  • Puedes optimizar el c贸digo usando collections.defaultdict o collections.Counter.

  • Ideal para entrevistas t茅cnicas o ejercicios de l贸gica.

¿Te gust贸? ¡Dale like y comparte! 馃殌


Comentarios

Entradas m谩s populares de este blog

5 Diccionarios

2 Listas