> For the complete documentation index, see [llms.txt](https://timmybeeflin.gitbook.io/cracking-leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://timmybeeflin.gitbook.io/cracking-leetcode/weekly-contest/weekly-contest-276/2138.-divide-a-string-into-groups-of-size-k.md).

# 2138. Divide a String Into Groups of Size k

T: O(s len/k)

S: O(s len/k)

```java
class Solution {
    public String[] divideString(String s, int k, char fill) {
        int len = s.length();
        int size = len/k;
        int remain = len%k;
        
        List<String> resList = new ArrayList<>();
        int ksize = 0;
        for (int i = 0; i < size; i++) {
            resList.add(s.substring(0 + ksize, k + ksize));
            ksize += k;
        }
                        
        if (remain != 0) {
            resList.add(s.substring(size*k, len) + String.valueOf(fill).repeat(k - remain));
        }
        
        String[] res = new String[resList.size()];
        for (int i = 0; i < resList.size(); i++) {
            res[i] = resList.get(i);
        }
        return res;
    
    }
}
```
