-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathitertools_compress.py
51 lines (31 loc) · 1.16 KB
/
itertools_compress.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
"""
Problem Statement
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.
"""
from itertools import *
no = raw_input()
m = list()
l = [list(g) for k, g in groupby(no)]
for i in l:
t = []
t.append(len(i))
t.append(int(i[0]))
t = tuple(t)
m.append(str(t))
print ' '.join(m)