LeetCode 1837. Sum of Digits in Base K

Description

https://leetcode.com/problems/sum-of-digits-in-base-k/

Given an integer n (in base 10) and a base k, return the sum of the digits of n after converting n from base 10 to base k.

After converting, each digit should be interpreted as a base 10 number, and the sum should be returned in base 10.

Example 1:

Input: n = 34, k = 6
Output: 9
Explanation: 34 (base 10) expressed in base 6 is 54. 5 + 4 = 9.

Example 2:

Input: n = 10, k = 10
Output: 1
Explanation: n is already in base 10. 1 + 0 = 1.

Constraints:

  • 1 <= n <= 100
  • 2 <= k <= 10

Explanation

Keep dividing n until n < k, add all remainders. Then finally add the last quotient.

Python Solution

class Solution:
    def sumBase(self, n: int, k: int) -> int:
                
        result = 0
        while n >= k:
            result += n % k
            n = n // k
            
        result += n
        
        return result
  • Time Complexity: O(N).
  • Space Complexity: O(1).

Leave a Reply

Your email address will not be published.