Python: capitaliza los caracteres repetidos en una string

Dada una string de entrada con letras minúsculas, la tarea es escribir un programa en Python para identificar los caracteres repetidos en la string y ponerlos en mayúsculas.

Ejemplos:

Entrada: lenguaje de programación

SALIDA : IDIOMA DE PROGRAMACIÓN

Explicación: r,m,n,a,g son elementos repetidos

Entrada: geeks para geeks

Salida: GEEKS para GEEKS

Explicación: g,e,k,s son elementos repetidos

Enfoque 1:

  • Tenemos que mantener el carácter de una string como clave y la frecuencia de cada carácter de la string como valor en el diccionario.
  • Recorra la string y verifique la frecuencia de cada carácter usando un diccionario si la frecuencia del carácter es mayor que uno, luego cambie el carácter a mayúsculas usando la función upper() .

Implementación:

Python3

# function for changing the
# repeated characters to uppercase
def RepeatedUpper(s):
 
    # declaring dictionary
    dic = {}
 
    # Traversing the string
    for i in s:
 
        # If the character is already
        # present in dictionary then increment
        # the frequency of the character
        if i in dic:
            dic[i] = dic[i]+1
 
   # If the character is not present in
   # the dictionary then inserting
   # the character in the dictionary
        else:
            dic[i] = 1
    ans = ''
 
    # traversing the string
    for i in s:
 
        # if the frequency of the character is
        # greater than one
        if dic[i] > 1:
 
            # change into uppercase
            i = i.upper()
 
        # appending each character to the ans
        ans = ans+i
    return ans
 
 
# Driver code
s = 'geeks for geeks'
# function call
print(RepeatedUpper(s))

Producción:

GEEKS for GEEKS

Complejidad de tiempo: O(n)

Complejidad espacial: O(n)

Enfoque 2:

Usando la función de conteo() . Si el conteo es mayor que 1, entonces el carácter se repite. Más tarde, use upper() para convertir a mayúsculas

Python3

s = "programming language"
new_str=""
for i in s:
    if(i!="" and s.count(i)>1):
        new_str+=i.upper()
    else:
        new_str+=i
print(new_str)
        
Producción

pRoGRAMMiNG lANGuAGe

Complejidad de tiempo: O(n 2 ) -> (función de conteo + bucle)

Complejidad espacial: O(n)

Publicación traducida automáticamente

Artículo escrito por pavang2001 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 *