파비의 매일매일 공부기록

2023.04.23 Today's Challenge 본문

Problem Solving/LeetCode

2023.04.23 Today's Challenge

fabichoi 2023. 4. 23. 23:45

https://leetcode.com/problems/restore-the-array/

 

Restore The Array - LeetCode

Can you solve this real interview question? Restore The Array - A program was supposed to print an array of integers. The program forgot to print whitespaces and the array is printed as a string of digits s and all we know is that all integers in the array

leetcode.com

결국 DP로 푸는 문제

class Solution:
    def numberOfArrays(self, s: str, k: int) -> int:
        m, n = len(s), len(str(k))
        mod = 10 ** 9 + 7
        dp = [0] * (m+1)

        def dfs(start):
            if dp[start]:
                return dp[start]
            if start == m:
                return 1
            if s[start] == '0':
                return 0
            count = 0
            for end in range(start, m):
                curr_number = s[start: end+1]
                if int(curr_number) > k:
                    break
                count += dfs(end+1)
            dp[start] = count % mod
            return count
        
        return dfs(0) % mod
반응형

'Problem Solving > LeetCode' 카테고리의 다른 글

2023.04.25 Today's Challenge  (0) 2023.04.25
2023.04.24 Today's Challenge  (0) 2023.04.24
2023.04.22 Today's Challenge  (0) 2023.04.22
2023.04.21 Today's Challenge  (0) 2023.04.21
2023.04.20 Today's Challenge  (0) 2023.04.20
Comments