[Programmers] Java 프로그래머스 연습문제 약수의 합 문제 풀이

[Programmers] Java 프로그래머스 연습문제 약수의 합 문제 풀이

문제

문제 설명

정수 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); } }

쿠쿠쿠쿠

from http://heonil.tistory.com/213 by ccl(A) rewrite - 2021-10-14 22:27:11