
약수의 합
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- n은 0 이상 3000이하인 정수입니다.
입력값
n : 12, 5
return : 28, 6
Solution
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=n; i>0; i--){
if(n%i==0){
answer += i;
}
}
return answer;
}
}
본인보다 작거나 같은 수 중에 본인이 그 수로 나누어떨어진다면 그 수는 약수라고 할 수 있다.
따라서 정답을 담아줄 answer 변수를 정수형으로 선언하고, 입력받은 n부터 1까지 하나하나씩 약수의 조건에 부합하는지 확인했다.
for 반복문을 이용해서 12부터 11, 10,..., 1까지 총 12번을 반복해서 약수라면 answer 변수에 계속 더해주고, 아니라면 넘어가는 방식으로 정답을 구했다.
'Algorithm' 카테고리의 다른 글
| 11.12.(토) Programmers Java Lv1 정수 제곱근 판별 (2) | 2022.11.15 |
|---|---|
| 11.11.(금) Programmers Java Lv1 자연수 뒤집어 배열로 만들기 (0) | 2022.11.11 |
| 11.10.(목) Programmers Java Lv1 자릿수 더하기 (0) | 2022.11.09 |
| 11.08.(화) Programmers Java Lv1 평균 구하기 (0) | 2022.11.09 |
| 11.07.(월) Programmers Java Lv1 짝수와 홀수 (0) | 2022.11.09 |