Formatted question description: https://leetcode.ca/all/1281.html

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

Level

Easy

Description

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

Example 1:

Input: n = 234

Output: 15

Explanation:

Product of digits = 2 * 3 * 4 = 24

Sum of digits = 2 + 3 + 4 = 9

Result = 24 - 9 = 15

Example 2:

Input: n = 4421

Output: 21

Explanation:

Product of digits = 4 * 4 * 2 * 1 = 32

Sum of digits = 4 + 4 + 2 + 1 = 11

Result = 32 - 11 = 21

Constraints:

  • 1 <= n <= 10^5

Solution

Convert the number to a string then to an array with type char. Calculate the product and the sum from each digit, and calculate the difference.

class Solution {
    public int subtractProductAndSum(int n) {
        if (n < 10)
            return 0;
        char[] array = String.valueOf(n).toCharArray();
        int length = array.length;
        int product = 1, sum = 0;
        for (int i = 0; i < length; i++) {
            int digit = array[i] - '0';
            product *= digit;
            sum += digit;
        }
        int difference = product - sum;
        return difference;
    }
}

All Problems

All Solutions