Compress the String!

Sort by

recency

|

837 Discussions

|

  • + 0 comments

    if name=='main':

    s=input() 
    

    count=0

    prev=s[0]

    flag = True #to handle edge cases

    l=[]

    for i in range(len(s)):

    tu=[]
    
    value=s[i]     
    
    if prev==value:
    
        count = count+1   
    
    else:
    
        flag = False
    
        tu.append(count)
    
        tu.append(int(prev))
    
        l.append(tu)
    
        prev = value
    
        count = 1
    

    if flag == True:

    tu=[]
    
    tu.append(count)
    
    tu.append(int(prev))
    
    l.append(tu)
    

    else:

    tu=[]
    
    tu.append(count)
    
    tu.append(int(prev))
    
    l.append(tu)
    

    for i in l: print(tuple(i), end=" ")

  • + 0 comments

    from itertools import groupby s=list(input()) for k,g in groupby(s): print(f"({len(list(g))}, {k})", end=" ")

  • + 0 comments

    from itertools import groupby data = input() result = [(len(list(group)),int(key)) for key,group in groupby(data)] print(*result)

  • + 0 comments
    import itertools
    res = []
    for k, g in itertools.groupby(input()):
        res.append(tuple((len(list(g)), int(k))))
    print(*res)
    
  • + 0 comments

    from itertools import groupby

    s=input()

    for key, group in groupby(s): group_list=list(group) key=int(key) print (tuple((len(group_list),key)),end=" ")