題目出處
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 後結束。