문제
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한조건
풀이방향
- 입력된 값의 약수를 구하고
- 약수를 합계하여 리턴
입출력의 예
문제풀이
sumOfDivisor.js1 2 3 4 5 6 7 8 9 10 11 12
| function sumOfDivisor(num) { let sum = 0; for (let i = 1; i <= num; i++) { if (num % i === 0) { sum += i; } } return sum; }
export { sumOfDivisor };
|
sumOfDivisor.test.js1 2 3 4 5 6 7 8 9 10 11
| import { sumOfDivisor } from "../src/sumOfDivisor";
describe("sumOfDivisor", () => { it("should return 28 as the sum of divisor of 12", () => { expect(sumOfDivisor(12)).toBe(28); });
it("should return 6 as the sum of divisor of 5", () => { expect(sumOfDivisor(5)).toBe(6); }); });
|
문제출처
다른 풀이
1 2 3
| function solution(n, a=0, b=0) { return n<=a/2?b:solution(n,a+1,b+=n%a?0:a); }
|