프로그래머스 문제풀이
프로그래머스 LEVEL1 : 약수의 합
공부합시다홍아
2020. 6. 25. 19:50
public class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i<=n; i++)
{
if(n%i == 0)
{
answer += i;
}
}
return answer;
}
}
문제 해결
n은 해당 코드에서 분자 역할을 합니다.
n이 랜덤으로 입력 될 때 분모역할을 하는 i를 1~N까지 반복문을 통해 점점 증가시킵니다.
그리고 반복문 안에서 조건문if를 사용하여 n을 i로 나누었을 때 나머지가 0이되는 값이 약수이므로
해당 값 i를 answer에 더해줍니다.
예를 들어 n이 6이라 한다면 n을 나누었을 때 나머지가 0이 되는 값들 ( 1,2,3,6 )을 찾을 때까지 반복해주고, 6보다 크기가 커지면 더 이상 반복을 안하고, 1,2,3,6에 해당하는 값들을 answer에 더해줍니다.
728x90