[프로그래머스] 약수의 합 – 자바


프로그래머스 “약수의 합” 문제 해결과정입니다.

약수의 합

문제설명

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

제한사항

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

입출력 예

nresult
1228
56

문제 해결과정

프로그래머스 코드

class Solution {
    public int solution(int n) {
        int answer = 0;
        for(int i = 1; i <= n; i++) {
			answer += n % i == 0 ? i : 0;
		}
		
        return answer;
    }
}

n의 약수로 n을 나누었을 때 나머지가 0이라는 성질이 있다. 이를 통해 반복문으로 1부터 n까지의 수 중 나누어 떨어지는 것만을 더한 값을 출력한다.

한 줄 코드

import java.util.stream.IntStream;

class Solution {
    public int solution(int n) {
        return IntStream.rangeClosed(1, n).filter(i->n % i == 0).sum();
    }
}

정리

  1. 1부터 n까지 반복문
  2. n과 나누어 떨어지는 반복문 인자를 더한 값을 출력.

댓글 남기기

광고 차단 알림

광고 클릭 제한을 초과하여 광고가 차단되었습니다.

단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.