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
'프로그래머스 문제풀이' 카테고리의 다른 글
프로그래머스 Level1 : 자릿수 더하기 (0) | 2020.06.28 |
---|---|
프로그래머스 Level 1 : 두 정수 사이의 합 (0) | 2020.06.25 |
프로그래머스 LEVEL 1 : 직사각형 별찍기 (0) | 2020.06.25 |
프로그래머스 LEVEL 1 : 문자열을 정수로 바꾸기 (0) | 2020.06.25 |
프로그래머스 Level 1 : 수박수박수박수박수박수? (0) | 2020.06.25 |