countBy.js (8kyu 38)
Codewars 알고리즘 풀이
Problem
- Create a function with two arguments that will return a list of length n with multiples of x.
- x의 배수(multiple)로 길이 n의 배열을 반환한다.
Solution 01
function countBy(x, n) {
let result = [];
for (let i = 1; i <= n; i++) {
result.push(i * x);
}
return result;
}
countBy(1, 4); // [1, 2, 3, 4]
countBy(2, 4); // [2, 4, 6, 8]
countBy(3, 4); // [3, 6, 9, 12]
countBy(4, 4); // [4, 8, 12, 16]
push()
메소드배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.
Solution 02
function countBy(x, n) {
let result = [x];
for (let i = 2; i <= n; i++) {
if (x === 1) {
result.push(i);
} else {
result.push(i * x);
}
}
return result;
}
countBy(1, 4); // [1, 2, 3, 4]
countBy(2, 4); // [2, 4, 6, 8]
countBy(3, 4); // [3, 6, 9, 12]
countBy(4, 4); // [4, 8, 12, 16]