Check if the frequency of any character is more than half the length of the string in Python


Suppose we have a string s with lowercase, uppercase, numeric and special characters. We have to check whether frequency of any one of character is more than the half of length of string or not.

So, if the input is like s = "CC*Ca5&CC", then the output will be True as frequency of 'C' is 5 and length of string is 9. (5 > 9/2).

To solve this, we will follow these steps −

  • freq := a map containing frequencies of characters of s
  • for each ch in freq, do
    • if frequency of ch > (size of s / 2), then
      • return True
  • return False

Let us see the following implementation to get better understanding −

Example Code

Live Demo

from collections import defaultdict
   
def solve(s):
   freq = defaultdict(int)
 
   for ch in s:
      freq[ch] += 1
 
   for ch in freq:
      if freq[ch] > len(s) // 2:
         return True
 
   return False
   
s = "CC*Ca5&CC"
print(solve(s))

Input

"CC*Ca5&CC"

Output

True

Updated on: 15-Jan-2021

126 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements