class Solution {
public String[] solution(String my_str, int n) {
int cnt = (my_str.length() + n - 1) / n;
String[] answer = new String[cnt];
for (int i=0; i<cnt; i++) {
int start = i * n;
int end = 0;
if (start + n >= my_str.length()) {
end = my_str.length();
} else {
end = start + n;
}
answer[i] = my_str.substring(start, end);
}
return answer;
}
}
cnt -> +n -1을 하면 나누어 떨어질 때와 그렇지 않을 때 상관 없이 모두 필요한 개수가 나오게 됨
start + n >= my_str.length()라면 가장 마지막 배열의 시작 지점임 -> end는 당연히 문자열의 길이
'Algorithm > 프로그래머스' 카테고리의 다른 글
[Lv. 0] 종이 자르기 (0) | 2023.04.17 |
---|---|
[Lv. 0] 문자열 밀기 (0) | 2023.04.14 |
[Lv. 0 ] 7의 개수 (0) | 2023.04.11 |
[Lv. 0] 소인수분해 (0) | 2023.04.10 |
[Lv. 0] 이진수 더하기 (0) | 2023.04.07 |
댓글