Simple Python Solution:
Intuition\nSliding window has to be applied\n# Approach\n\nWe need to check only the windows which are a multiple of k.\n\n1. If the window len is multiple of k
# Intuition\nSliding window has to be applied\n# Approach\n\nWe need to check only the windows which are a multiple of k.\n\n1. If the window len is multiple of k, then check if the adjacency and frequency conditions are met. if so increment your answer.\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution:\n    def countCompleteSubstrings(self, word: str, k: int) -> int:\n        # Edges cases:\n        # 1. What if there is only one unique charcter in the input\n        unq = set(word)\n        if len(unq) == 1:\n            if k <= len(word):\n                return len(word) - k + 1\n            else:\n                return 0\n\n        # helper function to check if the adjacency condition is voilated\n        def check_adjacents(word, left, right):\n            for index in range(left + 1, right + 1):\n                if abs(ord(word[index]) - ord(word[index - 1])) > 2:\n                    return False \n            return True    \n\n        #helper to check the k times occurance condition is met\n        def check_everything_occurs_k_times(word, left, right, freq_count, k):\n            seen =  set(word[left:right + 1])\n            for ch in seen:\n                if freq_count[ch] != k:\n                    return False\n            return True            \n\n        #function to perform the sliding window on the input and orchestrate the helper functions\n        def finder(word, window_len, k):\n            left, right, ans = 0 , 0, 0\n            freq = defaultdict(int)\n            \n            while right < len(word):\n                freq[word[right]] += 1\n                \n                while right -  left + 1 > window_len:\n                    freq[word[left]] -= 1\n                    left += 1\n                \n                if freq[word[right]] == k and (right - left + 1) == window_len:\n                    if check_adjacents(word, left, right) and check_everything_occurs_k_times(word, left, right, freq, k):\n                        ans += 1\n                right += 1\n            return ans    \n\n        #Simple runner code to trigger the Finder function\n        ans = 0\n        for i in range(1*k , (len(set(word)) * k) + 1, k):\n            ans += finder(word, i, k)  \n        return ans        \n```
['Sliding Window', 'Python3']