프로그래머스/Lv. 1

[프로그래머스 코딩테스트] 약수의 합(Java)

Sigfriede 2023. 4. 3. 01:14

  문제 설명

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

 

  제한사항

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

 

  입출력 예

n return
12 28
5 6
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;
    }
}

  for문은 i는 1부터 i가 n보다 작거나 같을 때 순회합니다. n을 i로 나눈 나머지가 0이라면 i는 n의 약수라는 뜻입니다. 이 문제는 약수의 합을 원하므로 i의 값을 복합 대입 연산자로 answer에 할당하는 동시에 값을 더해줍니다.

  오늘부터 1단계 풀이도 올리려고 합니다. 슬슬 풀 수 있을 것 같습니다. 아직 정답률이 높은, 난이도가 쉬운 문제를 우선적으로 풀어보려고요.

 

  약수 구하는 다른 문제는 아래 링크로,

  [프로그래머스 코딩테스트] 약수 구하기(Java) https://sigfriede.tistory.com/68