on
[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