약수의 합

2020.07.27


const isDivisor = (divisor, num) => {
  return !(num % divisor);
};

const solution = (n) => {
  let sum = 0;
  for (let i = 1; i <= n; i++) {
    if (isDivisor(i, n)) {
      sum += i;
    }
  }
  return sum;
};
  • 1부터 n까지 순회돌아서 배열을 만들고 거기에 reduce함수를 써서 함수형 프로그래밍으로 짜는 방법을 쓰려고 했는데, 사실 복잡한 문제도 아니고 해서 그냥 명령형으로 풀었다.

  • 이걸 재귀로 푼 경우도 있던데, 효율성이 나은 걸까
    (어차피 약수 확인하는 방법은 나누어 떨어지는 거 일일이 다 확인해야 되니까 별 차이 없을 것 같긴 한데...)

0개의 댓글