-
안녕하세요. 오늘은 자바스크립트 알고리즘 약수의 합 을 풀어보았습니다.
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
입출력 예
문제 풀이
function solution(n) { var answer = 0; for(var i = 1; i <= n; i++){ if(n % i == 0){ answer += i; }; }; return answer; }; //아래는 테스트 코드입니다. let test = solution(10); console.log(test);
이번 문제는 반복문으로 매개변수 n의 수만큼 반복하고 if 조건문을 통해 거기서 n % i == 0,
즉 n에 i를 나눈 후 나머지가 0 이면 그 i의 값은 n의 약수이기 때문에,
answer 에 그 i의 값을 더해줌으로써 해결했습니다.
아래는 다른 사람들의 풀이입니다. 여러 풀이들을 보며 여러 방식을 알아두면 더 도움이 될 것으로 보입니다.
이상으로 글을 마치겠습니다.
다른 사람들의 풀이
function solution(n, a=0, b=0) { return n<=a/2?b:solution(n,a+1,b+=n%a?0:a); }
'코딩 기록 > 자바스크립트 알고리즘' 카테고리의 다른 글
(자바스크립트 알고리즘) 가운데 글자 가져오기 - kimyang-sun (0) 2019.12.14 (자바스크립트 알고리즘) 두 정수 사이의 합 - kimyang-sun (0) 2019.12.13 (자바스크립트 알고리즘) 문자열을 정수로 바꾸기 - kimyang-sun (0) 2019.12.11 (자바스크립트 알고리즘) 자릿수 더하기 - kimyang-sun (0) 2019.12.10 (자바스크립트 알고리즘) 수박수박수박수박수박수? - kimyang-sun (0) 2019.12.10 댓글