Skip to content

Latest commit

 

History

History
42 lines (38 loc) · 1.14 KB

728_self_dividing_numbers.md

File metadata and controls

42 lines (38 loc) · 1.14 KB

A self-dividing number is a number that is divisible by every digit it contains.

  • For example, 128 is a self-dividing number because 128 % 1 == 0, 128 % 2 == 0, and 128 % 8 == 0. A self-dividing number is not allowed to contain the digit zero.

Given two integers left and right, return a list of all the self-dividing numbers in the range [left, right].

Example 1:

Input: left = 1, right = 22
Output: [1,2,3,4,5,6,7,8,9,11,12,15,22]

Example 2:

Input: left = 47, right = 85
Output: [48,55,66,77]

Solution

class Solution(object):
    def selfDividingNumbers(self, left, right):
        """
        :type left: int
        :type right: int
        :rtype: List[int]
        """
        output = []
        cleaned = []
        for i in range(left, right+1, 1):
            if '0' not in str(i):
                cleaned.append(str(i))
        for j in cleaned:
            c = 0
            for k in j:
                if int(j) % int(k) == 0:
                    c += 1
            if c == len(str(j)):
                output.append(j)
        return output