Word Order in python HackerRank Solution

Hello Programmers, In this post, you will know how to solve the Word Order in python HackerRank Solution. This problem is a part of the HackerRank Python Programming Series.

Ezoicreport this adWord Order in python HackerRank Solution
Word Order in python HackerRank Solutions

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Hackerrank by yourself. If you find any difficulty after trying several times, then you can look for solutions.

Word Order in python HackerRank Solution

Ezoicreport this adproblem

You are given n words. Some words may repeat. For each word, output its number of occurrences. The output order should correspond with the input order of appearance of the word. See the sample input/output for clarification.

Note: Each input line ends with a “\n” character.

Constraints :

  • 1 <= n <= 10^5

The sum of the lengths of all the words do not exceed 10^6
All the words are composed of lowercase English letters only.

Input Format :

The first line contains the integer, n.
The next n lines each contain a word.

Output Format :

Output 2 lines.
On the first line, output the number of distinct words from the input.
On the second line, output the number of occurrences for each distinct word according to their appearance in the input.

Sample Input :

4
bcdef
abcdefg
bcde
bcdef

Sample Output :

3
2 1 1

Explanation :

There are 3 distinct words. Here, “bcdef” appears twice in the input at the first and last positions. The other words appear once each. The order of the first appearances are “bcdef”, “abcdefg” and “bcde” which corresponds to the output.

Word Order in python HackerRank Solutions

# Word Order in python - Hacker Rank Solution
# Python 3
# Enter your code here. Read input from STDIN. Print output to STDOUT
# Word Order in python - Hacker Rank Solution START
import collections;
N = int(input())
d = collections.OrderedDict()
for i in range(N):
    word = input()
    if word in d:
        d[word] +=1
    else:
        d[word] = 1
print(len(d));
for k,v in d.items():
    print(v,end = " ");

Disclaimer: The above Problem (Word Order in python) is generated by Hackerrank but the Solution is Provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.

Next: Collections.deque() in python HackerRank Solution

Sharing Is Caring

Leave a Comment

Ezoicreport this ad