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 |
---|