Simple Python Solution
\nclass Solution:\n    def digitSum(self, s: str, k: int) -> str:\n        def divideString(s: str, k: int) -> List[str]: # Utility function to return list of d
```\nclass Solution:\n    def digitSum(self, s: str, k: int) -> str:\n        def divideString(s: str, k: int) -> List[str]: # Utility function to return list of divided groups.\n            l, n = [], len(s)\n            for i in range(0, n, k):\n                l.append(s[i:min(i + k, n)])\n            return l\n        while len(s)>k: # Till size of s is greater than k\n            arr, temp = divideString(s, k), [] # arr is the list of divided groups, temp will be the list of group sums\n            for group in arr: # Traverse the group and add its digits\n                group_sum = 0\n                for digit in group:\n                    group_sum += int(digit)\n                temp.append(str(group_sum)) # Sum of digits of current group\n            s = \'\'.join(temp) # s is replaced by the group digit sum for each group.\n        return s\n```
['Python', 'Python3']