반응형
프로그래머스 약수의 합 - JAVA
문제 설명
- 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
- n은 0 이상 3000이하인 정수입니다.
문제 풀이
- 1부터 n/2까지 순회하며 약수를 찾는다.
- n % i 가 0이라면 n의 약수이다.
- n/2 까지만 하면 n을 제외한 모든 약수를 찾을 수 있다.
- 1에서 찾은 약수들의 합과 n을 더한 값을 return.
소스 코드
class Solution {
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= n / 2; i++) {
if (n % i == 0) answer += i;
}
return answer + n;
}
}
반응형
'알고리즘(Algorithm) > 프로그래머스(Programmers)' 카테고리의 다른 글
[프로그래머스] 자리수 더하기 - JAVA (0) | 2021.10.31 |
---|---|
[프로그래머스] 이상한 문자 만들기 - JAVA (0) | 2021.10.31 |
[프로그래머스] 시저 암호 - JAVA (0) | 2021.10.28 |
[프로그래머스] 문자열을 정수로 바꾸기 - JAVA (0) | 2021.10.27 |
[프로그래머스] 소수 찾기 - JAVA (0) | 2021.10.27 |