It Study/코딩테스트 연습

프로그래머스 lv1 - 약수의 합

prlkt5200 2024. 9. 30. 20:43
반응형

 

아래는 저의 풀이입니다.

class Solution {
    
public int solution(int n) {

		int sum = 0;
		if (n >= 0 && n <= 3000) {
			for (int i = 1; i <= n; i++) {
				if (n % i == 0) {
					sum += i;
				}
			}
		}
		return sum;
	}
}

 

아래는 다른 분의 풀이입니다.

stream을 쓰니까 많이 간결해졌습니다.

import java.util.stream.IntStream;

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