Programa de Python para igualar frecuencias de caracteres

Dada una String, asegúrese de que tenga frecuencias de caracteres iguales, si no, equipare agregando los caracteres requeridos.

Entrada : test_str = ‘geeksforgeeks’ 
Salida : geeksforgeeksggkkssfffooorrr 
Explicación : Los caracteres máximos son 4 de ‘e’. Se añaden otros caracteres de frecuencia 4 – (recuento de caracteres).

Entrada : test_str = ‘geksforgeeks’ 
Salida : geeksforgeeksggksffoorr 
Explicación : los caracteres máximos son 3 de ‘e’. Se añaden otros caracteres de frecuencia 3 – (recuento de caracteres). 
 

Método n. ° 1: usar count() + max() + bucle

En esto, obtenemos la frecuencia del carácter máximo que aparece y luego agregamos cada carácter para que coincida con la frecuencia máxima de caracteres.

Python3

# Python3 code to demonstrate working of 
# Equal character frequencies
# Using max() + count() + loop
  
# initializing string
test_str = 'geeksforgeeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# getting maximum frequency character 
max_freq = max([test_str.count(ele) for ele in test_str])
  
# equating frequencies 
res = test_str
for chr in test_str:
      
    # if frequencies don't match max_freq
    if res.count(chr) != max_freq:
        res += chr * (max_freq - test_str.count(chr))
      
# printing result 
print("Equal character frequency String : " + str(res)) 

Producción:

The original string is : geeksforgeeks
Equal character frequency String : geeksforgeeksggkkssfffooorrr

Método n.º 2: Usar contador() + bucle 

Similar a lo anterior, la diferencia de ser Counter() se usa para obtener el recuento máximo de elementos.

Python3

# Python3 code to demonstrate working of 
# Equal character frequencies
# Using Counter() + loop 
from collections import Counter
  
# initializing string
test_str = 'geeksforgeeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# getting maximum frequency character 
# using Counter()
freq_dict = Counter(test_str) 
max_freq = test_str.count(max(freq_dict, key = freq_dict.get)) 
  
# equating frequencies 
res = test_str
for chr in test_str:
      
    # if frequencies don't match max_freq
    if res.count(chr) != max_freq:
        res += chr * (max_freq - test_str.count(chr))
      
# printing result 
print("Equal character frequency String : " + str(res)) 

Producción:

The original string is : geeksforgeeks
Equal character frequency String : geeksforgeeksggkkssfffooorrr

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *