# HackerRank Company Logo solution in python | python practice problems for beginners with solutions

In this Company Logo problem, we need to develop a python program that read a string as input and then we need to print the number of occurrence of each character on the output screen in descending order.

A newly opened multinational brand has decided to base their company logo on the three most common characters in the company name. They are now trying out various combinations of company names and logos based on this condition. Given a string , which is the company name in lowercase letters, your task is to find the top three most common characters in the string.

• Print the three most common characters along with their occurrence count.
• Sort in descending order of occurrence count.
• If the occurrence count is the same, sort the characters in alphabetical order.

For example, according to the conditions described above,

would have it’s logo with the letters .

Input Format

A single line of input containing the string .

Constraints

•  has at least  distinct characters

Output Format

Print the three most common characters along with their occurrence count each on a separate line.
Sort output in descending order of occurrence count.
If the occurrence count is the same, sort the characters in alphabetical order.

Sample Input 0

`aabbbccde`

Sample Output 0

`b 3a 2c 2`

Explanation 0

Here, b occurs  times. It is printed first.
Both a and c occur  times. So, a is printed in the second line and c in the third line because a comes before c in the alphabet.

Note: The string  has at least  distinct characters.

## Problem solution in Python 2 programming.

`from sys import stdinS = stdin.readline()d = {}for c in S:    if c in d:        d[c] += 1    else:        d[c] = 1        data = [[d[c],c] for c in d.keys()]data.sort(key = lambda e: [-e[0],e[1]])for x in range(3):    print data[x][1], data[x][0]`

## Problem solution in Python 3 programming.

`#!/bin/python3import mathimport osimport randomimport reimport sysfrom collections import Counterclass OrderedCounter(Counter):    passif __name__ == '__main__':    [print(*c) for c in OrderedCounter(sorted(input())).most_common(3)]`

### Problem solution in pypy programming.

`# Enter your code here. Read input from STDIN. Print output to STDOUTfrom collections import Counterstring = sorted(Counter(raw_input()).items(), key= lambda x: (-x[1],x[0]))[:3]print "n".join(x[0]+" "+str(x[1]) for x in string)`

### Problem solution in pypy3 programming.

`from collections import Counter, OrderedDictclass OrderedCounter(Counter, OrderedDict):    pass[print(*c) for c in OrderedCounter(sorted(input())).most_common(3)]`