Divide a String Into Groups of Size k LeetCode solution in Java

1
class Solution {
2
public String[] divideString(String s, int k, char fill) {
3
// the size of result array
4
String[] r = new String[(int) Math.ceil((s.length() * 1.0) / k)];
5
int idx;
6
// if the last one needs to be filled, then I do it
7
if (s.length() % k != 0) {
8
idx = s.length() - (s.length() % k);
9
StringBuilder sb = new StringBuilder();
10
sb.append(s.substring(idx));
11
for (int i = sb.length(); i < k; i++) {
12
sb.append(fill);
13
}
14
r[r.length - 1] = sb.toString();
15
} else {
16
// no need to fill the last,
17
// that's why idx is equal to s length
18
idx = s.length();
19
}
20
for (int i = 0; i < idx; i += k) {
21
r[i / k] = s.substring(i, i + k);
22
}
23

24
return r;
25
}
26
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0