[프로그래머스] Java 코딩테스트 Lv.1 - 약수의 합

yihyun·2025년 5월 7일

코딩테스트

목록 보기
83/105
post-thumbnail

약수의 합

✅ 문제 설명

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

✅ 제한사항

n은 0 이상 3000이하인 정수입니다.

🔽 소스코드 1

💻 풀이

  • 약수는 자기 자신을 나눈 수보다 클 수 없기 때문에 반복문의 조건을 n / 2 로 설정해준다.
  • 이후 n 과 나눠서 나머지가 0이 되는 수가 약수이므로 약수를 누적합으로 더해 return 해준다.

시간 0.01ms ~ 0.04ms

	public int solution(int n) {
		
		int sum = 0;
		
		for(int i = 1; i <= n/2; i++) {
			if(n % i == 0) {
				sum += i;
			}
		}
		return sum + n;
	}
profile
개발자가 되어보자

0개의 댓글