본문 바로가기

코딩테스트 연습(with java)/프로그래머스

프로그래머스 연습문제 <약수의 합>

문제

n>12 return 28

n>5 return 6

약수의 모든 합을 더해서 출력하는걸 구현해라 

 

알고리즘으로 구현하고 싶었는데, 내일 알고리즘 책이 오면 알고리즘에 대해 온전히 내 것으로 만들고 구현하기로 하였다.

그래서 일단 가장 기본적인 for문을 통해 구현해보았다. 1부터 입력받는 자연수 n까지 1씩 증가시켜가면서 n을 나눠보고 나머지가 0인 수들을 모두 다 더하여 return을 통해 코드를 구현하였다. 

 

class Solution {
  public int solution(int n) {
      int answer = 0;
      int sum = 0;
      
      for (int a=1; a <=n; a++){
          if(n % a==0){
              answer= answer+a;
          }
      }
      
      
      
      
      
      return answer;
  }
}

다음에는 알고리즘으로 clean하게 짜봐야지