String Manipulation with a touch of Brute-Force
We simply first append until we can form groups of k strings without getting out of bounds.\nThen two cases can rise -:\n1. (len(string)-1)%k==0 implying we do 
We simply first append until we can form groups of k strings without getting out of bounds.\nThen two cases can rise -:\n1. (len(string)-1)%k==0 implying we do not need to use fill string\n2. If that is not the case we use fill string to complete the required group of string.\n\n```\nclass Solution:\n    def divideString(self, s: str, k: int, fill: str) -> List[str]:\n\t\t\n\t\tans = []\n        n = len(s)\n        end = 0\n        while end<len(s):\n                        \n            if end+k<=len(s): \n                ans.append(s[end:end+k])\n            else:\n                res  = s[end:]   # remaining string \n                left = (end+k)-n # Number of places left\n                to_add = fill*left # Use that many fill characters\n                c = res+to_add # Append it to the remainign string\n                ans.append(c)   \n                break\n                \n            \n            end = end+k\n        return ans\n```\n\nQuestions like this require you to know the operations your strings can perform in your own language \nAlthough there is not much logic it\'s more about how familiar are you with your own language !\nThanks for reading !
['String', 'Python']