divisors.js (7kyu 25)

Codewars 알고리즘 풀이


Problem

  • Create a function named divisors that takes an integer ‘n > 1’ and returns an array with all of the integer’s divisors from smallest to largest.
    • ‘n > 1’의 정수를 사용해서, 모든 약수가 포함된 배열을 반환한다.
    • 약수 (divisor): 어떤 정수를 나머지 없이 나눌 수 있는 정수를 원래의 수에 대하여 이르는 말. (예: 3은 6의 약수이다.)
    • 소수 (prime number): 1과 그 수 자신 이외의 자연수로는 나눌 수 없는 자연수 (예: 2, 3, 5, 7, 11 따위가 있다.)


Solution 01

function divisors(n) {
  let result = [];
  
  for (let i = 2; i < n - 1; i++) {
    if (n % 1 === 0) {
      result.push(i);
    }
  }
  return result.length ? result : n + ' is prime number';
}

divisors(11);  // 11 is prime number
divisors(12);  // [2, 3, 4, 6]
divisors(13);  // 13 is prime number
divisors(14);  // [2, 7]
divisors(15);  // [3, 5]

push(): 배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.