코린이의 소소한 공부노트

[LeetCode/Easy] 2138. Divide a String Into Groups of Size k 본문

코딩테스트 풀이/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"]

설명: s3개씩 자르면 마지막에 j 하나가 남으므로 x2개 붙여 길이가 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]);