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.


HackerRank Company Logo solution in python


Problem solution in Python 2 programming.

from sys import stdin

S = 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/python3

import math
import os
import random
import re
import sys
from collections import Counter

class OrderedCounter(Counter):
    pass

if __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 STDOUT
from collections import Counter
string = 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, OrderedDict

class OrderedCounter(Counter, OrderedDict):
    pass
[print(*c) for c in OrderedCounter(sorted(input())).most_common(3)]