Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Python – Capitalize repeated characters in a string

  • Difficulty Level : Expert
  • Last Updated : 29 Dec, 2021

Given an input string with lowercase letters, the task is to write a python program to identify the repeated characters in the string and capitalize them.

Examples:

Input: programming language

Output: pRoGRAMMiNG lANGuAGe

Explanation: r,m,n,a,g are repeated elements

Input: geeks for geeks

Output: GEEKS for GEEKS

Explanation: g,e,k,s are repeated elements

Approach:

  • We have to keep the character of a string as a key and the frequency of each character of the string as a value in the dictionary.
  • Traverse the string and check the frequency of each character using a dictionary if the frequency of the character is greater than one then change the character to the uppercase using the upper() function.

Implementation:

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

Output:

GEEKS for GEEKS

Time Complexity: O(n)

Space Complexity: O(n)


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!