Problem Solving

37. Self Dividing Numbers

굥깡 2022. 12. 31. 00:28
728x90
 

Self Dividing Numbers - LeetCode

Self Dividing Numbers - 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

leetcode.com

정해진 범위의 숫자들 중 각각의 자릿수로 나누었을 때 전부 0이 되는 수만 골라내는 문제

class Solution:
    def selfDividingNumbers(self, left: int, right: int) -> List[int]:
        div = []
        for i in range(left, right + 1):
            div.append(i)
            strnumb = str(i)
            if '0' in strnumb:
                div.remove(i)
            else:
                for j in strnumb:
                    if i % int(j) != 0:
                        div.remove(i)
                        break
        return div

매 자릿수마다 나눗셈을 하고 전부 0이 되는지 확인하는 것보다 0이 되지 않는 경우에 넘어가도록 하는 게 풀기 쉬움