본문 바로가기
IT/Algorithm

프로그래머스(Programmers) 약수의 합(java)

by flatsun 2019. 8. 18.
반응형

 

프로그래머스(Programmers)

문제명 : 약수의 합

언어 : 자바(java)

 

n을 받아서 n의 약수를 구한 후

그 약수들을 모두 더해서 반환하면 되는데

 

근데 약수가 뭐더라..?

6을 2로 나눈다 했을때 나머지가 나오지 않으니

나머지 없이 모두 나눠지는 값을 약수라 하는 것이다

 

즉 6의 약수는 1,2,3,6이 되는 것이다

 

내가 푼 방법은 다음과 같은데

 

약수는 for 문을 돌려서 값 % i == 0이면 약수가 되는거고

이 값들을 더해준 후 반환하면 되는 것이다

 

프로그래머스에 바로 적용할 수 있는 답은 아래와 같다

class Solution {
  public int solution(int n) {
      int answer = 0;

      for(int i = 1; i<=n; i++) {
          if(n % i == 0) {
              answer = answer + i;
          }
      }

      return answer;
  }	
}

 

 

반응형

댓글