304 North Cardinal St.
Dorchester Center, MA 02124

Word Order Hacker Rank Solution – Queslers

Problem: Word Order Hacker Rank Solution

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 Hacker Rank Solution in python 2

``````# Enter your code here. Read input from STDIN. Print output to STDOUT
n = int(raw_input().strip())
counter = {}
words = []
for i in range(n):
word = raw_input().strip()
if word in counter:
counter[word] += 1
else:
counter[word] = 1
words.append(word)

print len(words)
print ' '.join([str(counter[word]) for word in words])``````

Word Order Hacker Rank Solution in python 3

``````# Enter your code here. Read input from STDIN. Print output to STDOUT
from collections import Counter, OrderedDict
class OrderedCounter(Counter, OrderedDict):
pass
d = OrderedCounter(input() for _ in range(int(input())))
print(len(d))
print(*d.values())``````

Word Order Hacker Rank Solution in pypy

``````# Enter your code here. Read input from STDIN. Print output to STDOUT
from collections import OrderedDict
num = raw_input()

word_dict = OrderedDict()
list_words = []
for i in range(0,int(num)):
list_words.append(raw_input())
for word in list_words:
if word not in word_dict:
word_dict[word] = 1
else:
word_dict[word] = word_dict[word] + 1
for i in word_dict:
answer = answer + str(word_dict[i]) + " "

print str(len(word_dict)) + "\n" + answer``````

Word Order Hacker Rank Solution in pypy 3

``````from collections import OrderedDict
od = OrderedDict()
for _ in range(int(input())):
x = input()
od[x]=od.get(x,0)+1
print (len(od))
print (" ".join(str(v) for k,v in od.items()))
``````
Word OrderHacker Rank Solution Review:

In our experience, we suggest you solve this Word Order Hacker Rank Solution and gain some new skills from Professionals completely free and we assure you will be worth it.

Word Order problem is available on Hacker Rank for Free, if you are stuck anywhere between a compilation, just visit Queslers to get Word Order Hacker Rank Solution

Conclusion:

I hope this Word Order Hacker Rank Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Hacker Rank, Leetcode, Codechef, Codeforce Solution.

This Problem is intended for audiences of all experiences who are interested in learning Programming in a business context; there are no prerequisites.

Keep Learning!

More Hacker Rank Problem & Solutions >>

Staircase Hacker Rank Solution

A Very Big Sum Hacker Rank Solution

Diagonal Difference Hacker Rank Solution

Nested Lists Hacker Rank Solution

Lists Hacker Rank Solution