[2269] Find the K-Beauty of a Number | Biweekly Contest 78 Easy

yoongyum·2022년 5월 16일
0

코딩테스트 🧩

목록 보기
37/47
post-thumbnail

🔎 문제설명

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.

k자릿수만큼 순차적으로 잘라서 num의 약수가 될 수 있는지 확인하는 문제이다.

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.

제한 사항

  • 1 <=<= num <=109<= 10^9
  • 1 <=<= k <=<= num.length (taking num as a string)



🧊 파이썬 풀이

🍕 나의 풀이

class Solution:
    def divisorSubstrings(self, num: int, k: int) -> int:
        strN = str(num) #스트링으로 변환
        
        answer = 0
        for i in range(len(strN)-k+1):
            N = int(strN[i:i+k])
            if  N != 0 and num%N==0:
                answer += 1
            
        return answer

🍸 다른 사람 풀이

def divisorSubstrings(self, num: int, k: int) -> int:
    l = 0
    r = k

    num = str(num)
    count = 0
    while r <= len(num):            
        n = int(num[l: r])

        # handle case where n could be '0'. 
        if not n:
            l += 1
            r += 1
            continue

        if int(num) % n == 0:
            count += 1   
			
		# slide window
        l += 1
        r += 1

    return count

저랑 완전히 똑같이 푼사람들도 있었습니다.

파이썬에 적응하기 시작했나봐요 😃

0개의 댓글