✏️ 문제설명
문자열 my_string을 m수만큼 잘라 c번째 오는 텍스트들만 합치는 것
🔎 내 답
나는 바보 .. for문밖에 모르는 바보
function solution(my_string, m, c) {
var answer = [];
var string='';
for(let i = 0; i < my_string.length; i += m) {
answer.push(my_string.slice(i, i+m));
}
for(let j = 0; j < answer.length; j++) {
string+= answer[j][c-1]
}
return string
}
- for (let i = 0 ...) : 문자열을 잘라서 anwer 배열에 저장
- slice(startIndex, endIndex)를 사용하였다
- for (let j = 0....) : 또다시 anwer 배열을 순회하여 문자열을 만듦 > 비효율적
개선된 코드
function solution(my_string, m, c) {
var answer = '';
for(let i = 0; i < my_string.length; i += m) {
answer += my_string[i + c - 1]
}
return answer;
}
- my_string[i + c - 1] : 선택 문자를 바로 answer에 추가하는 방식
그 외의 코드
function solution(my_string, m, c) {
let answer ="";
for(let i = c-1; i < my_string.length ; i+=m) answer+=my_string[i];
return answer;
}
'기초다지기 > JS 코딩테스트' 카테고리의 다른 글
배열 순서 위치 변경하기 (0) | 2023.08.02 |
---|---|
[Lv0] 빈배열 추가 삭제 (1) | 2023.08.01 |
[Lv0] js 팩토리얼 (0) | 2023.07.18 |
[Lv0] 등차수열 (0) | 2023.07.17 |
[Lv0] 수 조작하기 2 (0) | 2023.07.16 |