2269. Find the K-Beauty of a Number LeetCode Solution

In this guide, you will get 2269. Find the K-Beauty of a Number LeetCode Solution with the best time and space complexity. The solution to Find the K-Beauty of a Number problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.

Table of Contents

  1. Problem Statement
  2. Complexity Analysis
  3. Find the K-Beauty of a Number solution in C++
  4. Find the K-Beauty of a Number solution in Java
  5. Find the K-Beauty of a Number solution in Python
  6. Additional Resources
2269. Find the K-Beauty of a Number LeetCode Solution image

Problem Statement of Find the K-Beauty of a Number

The k-beauty of an integer num is defined as the number of substrings of num when it is read as a string that meet the following conditions:

It has a length of k.
It is a divisor of num.

Given integers num and k, return the k-beauty of num.
Note:

Leading zeros are allowed.
0 is not a divisor of any value.

A substring is a contiguous sequence of characters in a string.

Example 1:

Input: num = 240, k = 2
Output: 2
Explanation: The following are the substrings of num of length k:
– “24” from “240”: 24 is a divisor of 240.
– “40” from “240”: 40 is a divisor of 240.
Therefore, the k-beauty is 2.

Example 2:

Input: num = 430043, k = 2
Output: 2
Explanation: The following are the substrings of num of length k:
– “43” from “430043”: 43 is a divisor of 430043.
– “30” from “430043”: 30 is not a divisor of 430043.
– “00” from “430043”: 0 is not a divisor of 430043.
– “04” from “430043”: 4 is not a divisor of 430043.
– “43” from “430043”: 43 is a divisor of 430043.
Therefore, the k-beauty is 2.

See also  2851. String Transformation LeetCode Solution

Constraints:

1 <= num <= 109
1 <= k <= num.length (taking num as a string)

Complexity Analysis

  • Time Complexity: O(n)
  • Space Complexity: O(k)

2269. Find the K-Beauty of a Number LeetCode Solution in C++

class Solution {
 public:
  int divisorSubstrings(int num, int k) {
    const string s = to_string(num);
    int ans = 0;

    for (int i = 0; i + k <= s.length(); ++i) {
      const int x = stoi(s.substr(i, k));
      if (x != 0 && num % x == 0)
        ++ans;
    }

    return ans;
  }
};
/* code provided by PROGIEZ */

2269. Find the K-Beauty of a Number LeetCode Solution in Java

class Solution {
  public int divisorSubstrings(int num, int k) {
    final String s = String.valueOf(num);
    int ans = 0;

    for (int i = 0; i + k <= s.length(); ++i) {
      final int x = Integer.parseInt(s.substring(i, i + k));
      if (x != 0 && num % x == 0)
        ++ans;
    }

    return ans;
  }
}
// code provided by PROGIEZ

2269. Find the K-Beauty of a Number LeetCode Solution in Python

class Solution:
  def divisorSubstrings(self, num: int, k: int) -> int:
    s = str(num)
    ans = 0

    for i in range(len(s) - k + 1):
      x = int(s[i:i + k])
      if x != 0 and num % x == 0:
        ans += 1

    return ans
# code by PROGIEZ

Additional Resources

Happy Coding! Keep following PROGIEZ for more updates and solutions.