728x90
프로그래머스 코딩테스트 연습 문제지
코딩 영역
Lv.1성명 |
수험 번호 | - |
약수의 합
02. 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
* n은 0 이상 3000이하인 정수입니다.
ex) 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.
ex) 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.
function solution(n) {
let answer = 0;
for(let i = 1; i <= n; i++){
if(n%i === 0) answer += i;
}
return answer
}
나의 풀이
for문을 활용하여 n의 약수일 경우 answer 값에 더해지도록 만들었습니다.
function solution(n, a=0, b=0) {
return n<=a/2?b:solution(n,a+1,b+=n%a?0:a);
}
다른 풀이
저도 이 풀이를 이해하는 날이 오겠죠 ?
'프로그래머스' 카테고리의 다른 글
프로그래머스 | Lv.1 자릿수 더하기 (1) | 2022.11.01 |
---|---|
프로그래머스 | Lv.1 나머지가 1이 되는 수 찾기 (1) | 2022.11.01 |
프로그래머스 | Lv.1 수박수박수박수박수박수? (1) | 2022.11.01 |
프로그래머스 | Lv.1 평균 구하기 (1) | 2022.11.01 |
프로그래머스 | Lv.1 짝수와 홀수 (1) | 2022.11.01 |
댓글