Calculate Digit Sum of a String

Python solution:

 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
class Solution:
    def digitSum(self, s: str, k: int) -> str:
        # Continue the rounds until the length of s is less than or equal to k
        while len(s) > k:
            groups = []

            # Divide s into consecutive groups of size k
            for i in range(0, len(s), k):
                group = s[i:i+k]

                # Calculate the digit sum of the current group
                group_sum = 0
                for digit in group:
                    group_sum += int(digit)

                # Append the digit sum to the groups
                groups.append(str(group_sum))

            # Merge consecutive groups together to form a new string
            new_s = ""
            for group in groups:
                new_s += group

            s = new_s

        return s

Summary of how the code works:

  1. Divide the String: We start by dividing the string into groups of size k.
  2. Sum the Digits: For each group, we sum the digits.
  3. Merge the Groups: We concatenate the sums to form a new string.
  4. Repeat the Rounds: We repeat the above steps until the length of s is less than or equal to k.
  5. Return Result: We return the resultant string.

This code ensures that the rounds are repeated until the length of the string s becomes less than or equal to k, following the problem constraints and requirements.