코딩테스트 풀이/JAVA
[LeetCode/Easy] 2138. Divide a String Into Groups of Size k
무지맘
2023. 1. 13. 21:20
1. Input
1) 문자열 s
2) 정수 k
3) 문자열 fill
2. Output
1) s의 문자를 앞에서부터 k개씩 잘라서 만든 문자열을 담은 배열을 반환
- 마지막에 k개 미만으로 남았다면, fill로 대신 채워 길이가 k인 문자열을 만든다.
3. Constraint
1) 1 <= s.length <= 100
2) s는 영어 소문자로만 이루어져 있다.
3) 1 <= k <= 100
4) fill에는 영어 소문자 1개가 담겨있다.
4. Example
Input: s = "abcdefghij", k = 3, fill = "x" -> Output: ["abc","def","ghi","jxx"]
설명: s를 3개씩 자르면 마지막에 j 하나가 남으므로 x를 2개 붙여 길이가 3인 문자열로 만든 후 배열에 담아 반환한다.
5. Code
1) 첫 코드(2022/07/05)
int index = 0;
List<String> list = new ArrayList<String>();
while(index+k-1<s.length()){
list.add(s.substring(index, index+k));
index += k;
}
if(index!=s.length()){
String p = "";
for(int i=0 ; i<k-(s.length()-index) ; i++)
p += fill;
list.add(s.substring(index, s.length()) + p);
}
return list.toArray(new String[0]);