【Leetcode】python - [2243] Calculate Digit Sum of a String 個人解法筆記 | 289th LeetCode Weekly Contest

題目出處

2243. Calculate Digit Sum of a String

難度

easy

個人範例程式碼

class Solution:
    def digitSum(self, s: str, k: int) -> str:
        # print(s)

        # end
        if len(s) <= k:
            return s

        # define
        end_string = ""
        start = 0
        while(start < len(s)):
            string_sum = self.get_string_sum(s[start:min(start+k, len(s))])
            end_string += string_sum
            start += k            

        # split
        return self.digitSum(end_string, k)

    def get_string_sum(self, s):
        start = 0
        string_sum = 0
        while(start <= len(s)-1):
            string_sum += int(s[start])
            start += 1

        return str(string_sum)

算法說明

    - str -> int 三個一數,計算新的結果,最後處理結尾部分 - int -> str 開始下一串字的拼接

循環至長度 len(s) <= k 後結束。

最近在練習程式碼本身就可以自解釋的 Coding style,可以嘗試直接閱讀程式碼理解

input handling

處理 len(s) <= k 的情況,這裡我是直接回傳 s。

Boundary conditions

注意結束條件:

循環至長度 len(s) <= k 後結束。

Reference