[Programmers Lv.0 | JS] 잘라서 배열로 저장하기

Bori·2023년 2월 17일
0

Algorithm

목록 보기
5/26
post-thumbnail

프로그래머스 잘라서 배열로 저장하기 문제 링크

나의 풀이

function solution(my_str, n) {
  const answer = [];
  let myString = my_str;

  while(myString.length !== 0) {
    if (myString.length < n) {
      answer.push(myString);
      break;
    }
    answer.push(myString.substring(0, n));
    myString = myString.substring(n);
  }

  return answer;
}

문제를 풀면서

  • for문을 이용하다가 증감식을 i++만 생각하고 실행했다가 불필요하게 반복하게 되어 while문으로 변경하여 코드 작성
  • while문으로 변경하면서 answer배열에 n만큼의 문자열을 push한 후 substring을 사용해서 문자열을 잘라내었다.
  • for문을 이용하여 증감식을 적절히 작성했다면, 문자열을 자를 필요가 없다.
    ⇒ 불필요한 코드를 줄일 수 있다.

다른 풀이를 보면서

String.prototype.match()

  • 대상 문자열과 인수로 전달받은 정규 표현식과 매칭 결과를 배열로 반환
  • g플래그로 지정되면 모든 매칭 결과를 배열로 반환
const target = 'Is this all there is?';
let regExp = /is/;

target.match(regExp);
// ['is', index: 5, input: 'Is this all there is?', groups: undefined]

regExp = /is/g;

target.match(regExp); // (2) ['is', 'is']

느낀점

  • 최대한 풀이 검색하지 않고 풀려고 하는데 다른 풀이를 보면 어쩜 이리 허탈한지 모르겠다.
  • 다른 풀이를 보면 공부했던 내용인데 실제 문제를 풀 때 적용을 못하고 있다.
  • 일단 스스로 푸는 것에 초점을 맞추고 계속 풀어야겠다.

0개의 댓글