Leetcode Note: Go - Self Dividing Numbers
Self Dividing Numbers - LeetCode
https://leetcode.com/problems/self-dividing-numbers/
- Go 言語で取り組んだメモ
所感
- int 数値 left, right が渡されるので、その範囲で自身で割り切れる整数を int 配列で return する
回答
Self Dividing Numbers - LeetCode
https://leetcode.com/problems/self-dividing-numbers/solution/
Golang-solution 0 ms, 2 MB - LeetCode Discuss
https://leetcode.com/problems/self-dividing-numbers/discuss/1144181/Golang-solution-0-ms-2-MB
func selfDividingNumbers(left int, right int) []int {
result := []int{}
for n := left; n <= right; n++ {
if isSelfDiveded(n) {
result = append(result, n)
}
}
return result
}
func isSelfDiveded(n int) bool {
for i := n; i > 0; i /= 10 {
x := i % 10
if x == 0 || n%x != 0 {
return false
}
}
return true
}
- left, right の範囲をループ
- 各数値が自身で割り切れる数かチェック
- ここのロジックがやや複雑
- 有効であれば、その数値をスライスに追加する
- 各数値が自身で割り切れる数かチェック