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]