fork(2) download
  1. import itertools
  2.  
  3. def count_generator(s):
  4. return sum(1 for _ in s)
  5.  
  6. def rle_encode(s):
  7. for key, items in itertools.groupby(s):
  8. n = count_generator(items)
  9. if n == 1:
  10. yield f"{key}"
  11. elif n == 2:
  12. yield f"{key}{key}"
  13. else:
  14. yield f"{key}{n}"
  15.  
  16. for _ in range(int(input())):
  17. s = input().strip()
  18. print("".join(rle_encode(s)))
  19.  
Success #stdin #stdout 0.02s 9252KB
stdin
4
OPSS
ABCDEF
ABBCCCDDDDEEEEEFGGHIIJKKKL
AAAAAAAAAABBBBBBBBBBBBBBBB
stdout
OPSS
ABCDEF
ABBC3D4E5FGGHIIJK3L
A10B16