프로그래머스 잘라서 배열로 저장하기 문제 링크
나의 풀이
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);
regExp = /is/g;
target.match(regExp);
느낀점
- 최대한 풀이 검색하지 않고 풀려고 하는데 다른 풀이를 보면 어쩜 이리 허탈한지 모르겠다.
- 다른 풀이를 보면 공부했던 내용인데 실제 문제를 풀 때 적용을 못하고 있다.
- 일단 스스로 푸는 것에 초점을 맞추고 계속 풀어야겠다.