문제정보
문제는 다음과 같습니다.
문자열과 정수가 매개변수로 주어지는데 n만큼씩 문자열을 잘라서
배열에 저장시키는 문제입니다.
제 생각엔 substring()을 활용해서 문제를 풀 수 있을 것 같아서
for문과 substring()을 사용해봤습니다.
나의풀이
function solution(my_str, n) {
let answer = []
let counter = n
for(i=0; i<my_str.length / n ; i++) {
answer.push(my_str.substring(i*n,counter))
counter += n
}
return answer
}
정답을 저장해줄 answer 변수를 선언하고
substring()에 사용할 counter변수를 선언해줬습니다.
my_str의 길이 / n을 해주면 얼마나 반복해야할지 알 수 있을테니 그만큼 반복을 시켜줍니다.
substring()
메소드는 string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환합니다.
str.substring(indexStart[, indexEnd])
substring()은 시작인덱스랑 끝인덱스를 매개변수로 받네요
i*n으로 시작위치를 변하게해주고 끝인덱스는 counter에 n을 누적시켜줬는데 생각해보니까
function solution(my_str, n) {
let answer = []
for(i=0; i<my_str.length / n ; i++) {
answer.push(my_str.substring(i*n,(i+1)*n))
}
return answer
}
이런식으로 하면 counter 변수가 필요가 없겠네요
다른사람의 풀이
function solution(my_str, n) {
return my_str.match(new RegExp(`.{1,${n}}`, "g"));
}
match() 메서드는 문자열이 정규식과 매치되는 부분을 검색합니다/
RegExp 생성자는 패턴을 사용해 텍스트를 판별할 때 사용합니다.
정규표현식을 사용한 풀이법입니다.
반응형
'programmers' 카테고리의 다른 글
[Programmers Level 1] 예산 Javascript (0) | 2022.11.30 |
---|---|
[Programmers Level 2] 다음 큰 숫자 Javascript (2) | 2022.11.30 |
[Programmers Level 0] 한번만 등장한 문자 Javascript (0) | 2022.11.25 |
[Programmers Level 2] JadenCase 문자열 만들기 Javascript (0) | 2022.11.25 |
[Programmers Level 1] 약수의 개수와 덧셈 Javascript (0) | 2022.11.25 |