-
[programmers] 약수의 합 JavaScript코딩 테스트 연습 2023. 7. 12. 23:41728x90
약수의 합
문제 설명
- 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한조건
- n은 0 이상 3000이하인 정수입니다
입출력 예
n return 12 28 5 6
해답
function solution(n) { var answer = 0; for (let i = 0; i <= n; i++) { if (n % i == 0) { answer += i; } } return answer; }
코드 실행 예시(n=12)
- n = 12
i = 0 => 12%0 == 0 성립 answer = 0
i = 1 => 12%1 == 0 성립 answer = 0 + 1
i = 2 => 12%2 == 0 성립 answer = 0 + 1+ 2
i = 3 => 12%3 == 0 성립 answer = 0 + 1+ 2 + 3
i = 4 => 12%4 == 0 성립 answer = 0 + 1+ 2 + 3 + 4
i = 5 => 12%5 == 0 불성립 answer = 0 + 1+ 2 + 3 + 4
i = 6 => 12%6 == 0 성립 answer = 0 +1 + 2 + 3 + 4 + 6
i = 7 => 12%7 == 0 불성립 answer = 0 +1 + 2 + 3 + 4 + 6
i = 8 => 12%8 == 0 불성립 answer = 0 +1 + 2 + 3 + 4 + 6
i = 9 => 12%9 == 0 불성립 answer = 0 +1 + 2 + 3 + 4 + 6
i = 10 => 12%10 == 0 불성립 answer = 0 +1 + 2 + 3 + 4 + 6
i = 11 => 12%11 == 0 불성립 answer = 0 +1 + 2 + 3 + 4 + 6
i = 12 => 12%12 == 0 성립 answer = 0 +1 + 2 + 3 + 4 + 6 + 12
=> answer = 28
VSCode로 실행 코드
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <script> let n = prompt("숫자를 입력하세요."); function solution(n) { var answer = 0; for (let i = 0; i <= n; i++) { if (n % i == 0) { answer += i; } } return answer; } console.log(solution(n)); </script> </head> <body></body> </html>
n에 12을 입력했을 때의 결과값
코딩테스트 연습 - 약수의 합 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
728x90'코딩 테스트 연습' 카테고리의 다른 글
배열 관련 코딩테스트 연습 (1) 2023.10.28 [programmers] 없는 숫자 더하기 JavaScript (0) 2023.07.13 [programmers] 자릿수 더하기 JavaScript (0) 2023.07.13 [programmers] 수박수박수박수박수박수? JavaScript (0) 2023.07.12 [programmers] 짝수와 홀수 JavaScript (0) 2023.07.12