[프로그래머스] Level 0 잘라서 배열로 저장하기

G E Lee·2023년 1월 2일
0

코딩테스트

목록 보기
2/13
post-thumbnail

Level 0 잘라서 배열로 저장하기

문제 링크:
https://school.programmers.co.kr/learn/courses/30/lessons/120913

풀이 방법

문자열을 하나씩 가져와서 n만큼 잘라준다.
substr을 처음에 생각하긴 했는데 직관적으로 반복문으로 먼저 풀고 다른 사람 풀이를 보고 리팩토링 하였다.

풀이 코드

1차로 푼 코드 : 반복해서 문자열을 가져오는 해석으로 직관적이긴 하나. answer.push가 반복되는 둥 줄일 수 있는 요소가 다분했다. 😐

  function solution(my_str, n) {
      let answer = [];
      let str = ""
      for (let i = 0; i < my_str.length; i++) {
          str += my_str[i]
          if (i % n === n - 1) {
              answer.push(str)
              str = ""
              continue
          }
      }
      if (str !== "") {
          answer.push(str)
      }
      return answer;
  }

substr()으로 리팩토링 후 : n씩 증가하는 i 인덱스부터 n개씩 자른다.

  function solution(my_str, n) {
      let answer = [];
      for(let i = 0; i < my_str.length; i += n) {
          answer.push(my_str.substr(i, n))
      }
      return answer
  }
profile
배움은 끝이 없다

0개의 댓글