Compress The String HackerRank Solution In Python

Problem

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.

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.

Solution to HackerRank Compress the String In Python

from itertools import groupbyfor i, j in groupby(input()):    print((len(list(j)), int(i)), end=' ')

Comments