Thursday, August 1, 2019

Compress the String! - Hacker Rank 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 . Suppose a character '' occurs consecutively  times in the string. Replace these consecutive occurrences of the character '' with  in the string.
For a better understanding of the problem, check the explanation.
Input Format
A single line of input consisting of the string .
Output Format
A single line of output consisting of the modified string.
Constraints
All the characters of  denote integers between  and .
Sample Input
1222311
Sample Output
(1, 1) (3, 2) (1, 3) (2, 1)
Explanation
First, the character  occurs only once. It is replaced by . Then the character  occurs three times, and it is replaced by  and so on.
Also, note the single space within each compression and between the compressions.

Compress the String! - Hacker Rank Solution

from __future__ import print_function
from itertools import *

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

1 comment:

  1. from itertools import groupby
    a=(input())
    z=[]
    b=[tuple(g) for k,g in groupby(a)]
    for i in range(len(b)):
    x=str(len(b[i]))
    if len(b[i]):
    y=str(b[i][0])
    else:
    y=str(b[i])
    z.append("("+x+", "+y+")")
    print(" ".join(z))

    ReplyDelete

Powered by Blogger.