Skip to content
Related Articles

Related Articles

TCS National Qualifier 2 Coding Question.

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 11 May, 2022

You are given a string and your task is to print the frequency of each character. 
 
Direction to Solve Problem:
1. Take string from STDIN.  

aaaabbBcddee

2. Get all different characters in give string using set(). 

set ={a, b, B, c, d, e}  # unordered set

3. Iterate for different characters ( len(set )) because we only need to print a character one time and it count in input sting  

range 0 to 5 i.e total 6 element

4. In every iteration take first character print it and its count.  

now for 0
input_string[0]  is 'a' and its count is 4

5 . Remove all occurrence of first character, this will make next character as 1st character.  

remove 'a' by replacing all 'a' in string by ""
new input string will be
bbBcddee

6. Repeat the same process, go to step 4. 
7. Either print value to STDOUT on each iteration (python3) or print in one go(python2), your output will be same as  

a4b2B1c1d2e2

Examples:  

Input : aaaabbBcddee
Output :a4b2B1c1d2e2

Input :aazzZ
Output :a2z2Z1 

Python




# Python2 code here
input_string = raw_input()
temp_string =""
for _ in range(len(set(input_string))):
    temp_string += input_string[0] + str(input_string.count(input_string[0]))
    input_string = input_string.replace(input_string[0], "")
print temp_string


Python3




# Python3 code here
input_string = input()
for _ in range(len(set(input_string))):
    print(input_string[0]+str(input_string.count(input_string[0])), end ="")
    input_string = input_string.replace(input_string[0], "")


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!