본문 바로가기

Algorithm

1281. Subtract the Product and Sum of Digits of an Integer

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