본문으로 바로가기
728x90
반응형

Description

Given an integer number n, return the difference between the product of its digits and the sum of its digits.

 

Example

Input: n = 234
Output: 15 
Explanation: 
Product of digits = 2 * 3 * 4 = 24 
Sum of digits = 2 + 3 + 4 = 9 
Result = 24 - 9 = 15

 

Solve

class Solution:
    def subtractProductAndSum(self, n: int) -> int:
        each_list = []

        while n > 0:
            each_list.append(int(n % 10))
            n //= 10

        each_multiplier = 1
        for x in each_list:
            each_multiplier = each_multiplier * x

        each_sum = sum(each_list)

        return each_multiplier - each_sum

입력받은 n은 정수형이므로 각 자리수를 구해서 list에 저장한 다음 각각의 원소를 곱한 결과와 더한 결과를 뺴서 리턴해준다.

 

Other Solve

다른 풀이 방법을 찾아보니 다음과 같이 해결한 코드도 확인할 수 있었다.

class Solution:
    def subtractProductAndSum(self, n: int) -> int:
        prod = 1
        sums = 0

        while n != 0:
            last = n % 10
            prod *= last
            sums += last
            n = n // 10
        return prod - sums

 

728x90
반응형

'Algorithm' 카테고리의 다른 글

[CodeUp] 6079, 언제까지 더해야 할까?  (0) 2022.02.06