Compress the string in Python - HackerRank solution
Solution for hackerRank problem Compress the string in python
Problem :
In this task, we would like for you to appreciate the usefulness of the groupby() function of itertools .
You are given a string S. Suppose a character 'c' occurs consecutively X times in the string. Replace these consecutive occurrences of the character 'c' with (X,c) in the string.
For a better understanding of the problem, check the explanation.
Input Format
A single line of input consisting of the string S.
Output Format
A single line of output consisting of the modified string.
Constraints
All the characters of S denote integers between 0 and 9.
1 <= |S| <= 104.
Sample Input
1222311
Sample Output
(1, 1) (3, 2) (1, 3) (2, 1)
Explanation
First, the character 1 occurs only once. It is replaced by (1, 1). Then the character 2 occurs three times, and it is replaced by (3, 2) and so on.
Also, note the single space within each compression and between the compressions.
Code
from itertools import *
s = input()
for i,j in groupby(map(int,list(s))):
print(tuple([len(list(j)), i]) ,end = " ")
Explanation of the python functions used :
- Itertools - This module imparts various functions that work on iterators to
- groupby() - Used to group similar type of objects or elements.
Comments
Post a Comment