본문으로 건너뛰기

2138 - Divide a String Into Groups of Size k

info

풀이 키워드

스포주의

구현


풀이 코드

info
  • 메모리: 42510 KB
  • 시간: 0 ms
class Solution {
public String[] divideString(String s, int k, char fill) {
int rmd = s.length() % k; // remainder
if (rmd > 0) {
int need = k - rmd;
StringBuilder sb = new StringBuilder(s);
while (need-- > 0) sb.append(fill);
s = sb.toString();
}

int sdx = 0;
String[] ans = new String[s.length() / k];
for (int i = 0; sdx < s.length(); ++i, sdx += k)
ans[i] = s.substring(sdx, sdx+k);

return ans;
}
}

풀이 해설

문자열 sk개의 파티션 문자열로 나누되, 글자 수가 부족하면 fill로 채워야 한다.

s를 순회하면서 하나하나 문자를 뽑아 다시 붙이는 방식은 타이핑할게 많으니까

부족한 문자 개수만큼 사전에 fill을 붙여 s를 전처리하고

이후 substring하는 방식으로 풀이했다.


메모

  • for문 double statement 오랜만에 쓰고 싶어서 막씀 *따라하지 마시오*