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)
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