📘문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/12928
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌 제한조건
- n은 0 이상 3000이하인 정수입니다.
💡 개념 설명
- 정수 n이 주어지면, 1부터 n까지 반복하며 약수를 찾는다.
- n % i == 0이면 i는 n의 약수이므로 누적 변수 answer에 더한다.
- 반복문은 1부터 n까지 진행하여 모든 약수를 검사한다.
- 모든 약수를 더한 값 answer를 반환하면 된다.
📎 입출력 예시

📎 코드
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;
}
public static void main(String[] args) {
Solution s = new Solution();
int result = s.solution(12); // 예: 12의 약수 합
System.out.println("12의 약수 합: " + result); // 출력: 28
}
}
📎 결과

'Java' 카테고리의 다른 글
| [Java] 코딩 6 - 프로그래머스 기출 문제(JAVA) / x만큼 간격이 있는 n개의 숫자 / Day 5 (2) | 2025.07.04 |
|---|---|
| [Java] 코딩 5 - 프로그래머스 기출 문제(JAVA) / 나머지가 1이 되는 수 찾기 / Day 4 (0) | 2025.07.03 |
| [Java] 코딩 3 - 프로그래머스 기출 문제(JAVA) / 자릿수 더하기 / Day 2 (1) | 2025.07.01 |
| [Java] 코딩 2 - 프로그래머스 기출 문제(JAVA) / 평균 구하기 / Day 1 (0) | 2025.06.30 |
| [Java] 코딩 1 - 프로그래머스 기출 문제(JAVA) / 짝수와 홀수 / Day 1 (0) | 2025.06.30 |