반응형
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
입출력 예
n return
12 | 28 |
5 | 6 |
입출력 예 설명
입출력 예 #1
12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.
입출력 예 #2
5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.
비교적 쉬운 난이도 1의 연습문제, 약수의 합
n으로 주어지는 정수의 모든 약수를 더하고 그 값을 사용자에게 출력해주면 되는 문제.
자바의 % 연산자와 반복문만 사용할 수 있다면 간단하게 풀 수 있는 문제이다.
1부터 n까지 1씩 증가시키면서 반복문을 실행하고, 증가하는 수와 n을 나눴을 때 결과가 0이라면 해당 수는 약수로 판단하여 answer 변수에 더해놓고, 모든 반복문이 종료되면 answer 변수를 리턴해줘서 출력하면 된다!
아래는 해답~!
package list;
public class Programmers_YaksuSum {
public static int solution(int n) {
int answer = 0;
// 반복문 > 1부터 n까지
for (int i = 1; i <= n; i++) {
// n과 i을 나눴을 때 결과가 0이라면?!
if (n % i == 0) {
// 약수라고 판단, answer에 담아준다!
answer += i;
}
}
// 값 리턴
return answer;
}
public static void main(String[] args) {
// 파라미터
int s = solution(5);
// 리턴 값 씨스아웃
System.out.print(s);
}
}
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/044.gif)
쿠쿠쿠쿠
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스 | Programmers] 코딩테스트 연습 문제 Level 1 Java 월간 코드 챌린지 시즌3 나머지가 1이 되는 수 찾기 해답 (0) | 2021.10.24 |
---|---|
[프로그래머스 | Programmers] 코딩테스트 연습 문제 Level 1 Java 완주하지 못한 선수 문제풀이 (0) | 2021.10.23 |
[Programmers] Java 프로그래머스 월간 코드 챌린지 시즌3 없는 숫자 더하기 해답 (0) | 2021.10.13 |
[Programmers] Java 프로그래머스 레벨1 하샤드 수 문제 풀이 (0) | 2021.09.23 |
[Programmers] Java 프로그래머스 레벨1 두 정수 사이의 합 해답 (0) | 2021.09.14 |