관리 메뉴

솜씨좋은장씨

[leetCode] 728. Self Dividing Numbers (Python) 본문

Programming/코딩 1일 1문제

[leetCode] 728. Self Dividing Numbers (Python)

솜씨좋은장씨 2020. 9. 1. 22:59
728x90
반응형

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.

Also, a self-dividing number is not allowed to contain the digit zero.

Given a lower and upper number bound, output a list of every possible self dividing number, including the bounds if possible.

 

Example 1:

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

Note:

  • The boundaries of each input argument are 1 <= left <= right <= 10000.

Solution

class Solution:
    def selfDividingNumbers(self, left: int, right: int) -> List[int]:
        answer = [num for num in range(left, right+1) if '0' not in str(num)]
        
        answer = [num for num in answer if 0 not in [num % int(n) == 0 for n in str(num)]]
        
        return answer

 

class Solution:
    def selfDividingNumbers(self, left: int, right: int) -> List[int]:
        answer = [num for num in range(left, right+1) if '0' not in str(num) and all([num % int(n) == 0 for n in str(num)])]
        
        return answer

 

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments