Leetcode 2138: Divide a String Into Groups of Size k
2 min readJan 17, 2022
In this problem, we divide a String into a list of substrings of size k. In the last String is not of size k, we complete the string with a fill
character until the string is of size k.
Example:
s = "abcdef", k = 4, fill = 'x'Return: ["abcd", "efxx"]
- First, we want all the substrings of size k by using the function
substring
in a loop. In the loop we will keep track of an indexcurrIndex
starting at0
and incremented ofk
after each iteration. - The loop stops when
currIndex + k > n
, withn
the size of the input String. - When the loop is done, we need to find out if the last string is incomplete, in which case we need to fill the string using
fill
. - If the current index
currIndex
is less thann
, then we need to create a filler string by adding thefill
characterk — (n — currIndex)
times, then adding it to the remaining String. - We create a function
repeatChar
for readability, that returns a String consisting of one charfill
repeatedrepeat
times. - In the algorithm, we add all the Strings to a List (for instance ArrayList), that we convert to an array at the end to fit with the problem output.
In summary: