[LeetCode] 2535. Difference Between Element Sum and Digit Sum of an Array

김민우·2023년 1월 21일
0

알고리즘

목록 보기
120/189

- Problem

2535. Difference Between Element Sum and Digit Sum of an Array


- 내 풀이

class Solution:
    def digit_seperate(self, num):
        result = 0
        
        while num:
            result += num % 10
            num //= 10
        
        return result

    def differenceOfSum(self, nums: List[int]) -> int:
        element_sum = digit_sum = 0

        for num in nums:
            element_sum += num
            digit_sum += num if num < 10 else self.digit_seperate(num)

        return element_sum - digit_sum

- Refactoring Code

class Solution:
    def differenceOfSum(self, nums: List[int]) -> int:
        return sum(nums) - sum(int(num) for num in ''.join(map(str, nums)))

10 이상의 수에서 나눗셈과 모듈러를 이용하여 한 자리씩 반복적으로 구하는 것보다, 문자열로 바꿔 풀면 조금 더 효율적이다.

- 결과

profile
Pay it forward.

0개의 댓글