[Leetcode] 2138. Divide a String Into Groups of Size k

HyeLin·2023년 5월 18일
0
post-thumbnail

Input: s = "abcdefghij", k = 3, fill = "x"
Output: ["abc","def","ghi","jxx"]
k만큼 문자를 자르고, 글자 수가 부족하면 fill로 채워서 반환!

✨ 풀이

var divideString = function(s, k, fill) {
    let arr=[]
    
    for(let i=0;i<s.length;i=i+k) {
      if(s.substr(i,k).length === k) {
      	arr.push(s.substr(i,k))
      }else {
        arr.push(s.substr(i,k).padEnd(k,fill))
      }
    }
  
  return arr
};

✨ 해석

  for(let i=0;i<s.length;i=i+k) {
      if(s.substr(i,k).length === k) {
      	arr.push(s.substr(i,k))
      }else {
        arr.push(s.substr(i,k).padEnd(k,fill))
      }
    }
  
  1. 반복문을 돌린다. 단 i는 i+k! 왜냐하면 k만큼 뛰어넘어서 계산해야하기 때문
  2. 만약 k개씩 분리한 문자의 개수가 k면, 그 문자 그대로 빈배열에 push
  3. 개수가 k개가 되지 않는다면, padEnd를 이용하여 뒷자리에 fill문자로 채운다!
profile
개발자

0개의 댓글