Compress the String! – Python hackerrank Solution

Compress the String! - Python hackerrank Solution
Compress the String! – Python hackerrank Solution

Compress the String! – Python hackerrank Solution

In this task, we would like for you to appreciate the usefulness of the groupby() function of itertools . To read more about this function, Check this out .

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.

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:

# Enter your code here. Read input from STDIN. Print output to STDOUT
#

from itertools import groupby
S=input()

for i,j in groupby(map(int,list(S))):
    print(tuple([len(list(j)), i]) ,end = " ")

Disclaimer: This problem is originally created and published by HackerRank, we only provide solutions to this problem. Hence, doesn’t guarantee the truthfulness of the problem. This is only for information purposes.

Leave a Comment