Self Dividing Numbers
Problem statement
A self-dividing number is a number that is divisible by every digit it contains.
- For example,
128is a self-dividing number because128 % 1 == 0,128 % 2 == 0, and128 % 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 = 22Output: [1,2,3,4,5,6,7,8,9,11,12,15,22]
Example 2:
Input: left = 47, right = 85Output: [48,55,66,77]
Constraints:
1 <= left <= right <= 104
My solution
/**
* @param {number} left
* @param {number} right
* @return {number[]}
*/
var selfDividingNumbers = function(left, right) {
let result = [];
for (let i = left; i <= right; i++) {
if (i % 10 === 0) {
continue;
}
if (i < 10) {
result.push(i)
continue;
}
const isAllNumberDividing = `${i}`.split("").every(num => {
return i % num === 0
})
if (isAllNumberDividing) {
result.push(i)
}
}
return result;
};