거누의 개발노트
[Java] 프로그래머스 - level1 - 약수의 합 본문
반응형
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제하 사항
- n은 0 이상 3000이하인 정수입니다.
내 풀이
public int solution(int n) {
int answer = 0;
for (int i = 1; i <= n; i++) {
if(n % i == 0) {
answer += i;
}
}
return answer;
}
다른 풀이
public int sumDivisor(int num) {
int answer = 0;
for(int i = 1; i <= num/2; i++){
if(num%i == 0) answer += i;
}
return answer+num;
}
* num의 절반까지만 반복하고, 마지막에 자기자신을 더해주는 방법이 제일 효율적인 방법 인것 같다.
반응형
'코딩테스트' 카테고리의 다른 글
[Java] 프로그래머스 - level1 - 수박수박수박수박수박수? (0) | 2022.03.15 |
---|---|
[Java] 프로그래머스 - level1 - 3진법뒤집기 (0) | 2022.03.15 |
[Java] 프로그래머스 - level1 - 이상한 문자 만들기 (0) | 2022.03.11 |
[Java] 프로그래머스 - level1 - 자릿수 더하기 (0) | 2022.03.11 |
[Java] 프로그래머스 - level1 - 자연수 뒤집어 배열로 만들기 (0) | 2022.03.10 |
Comments