less than 1 minute read

짝수의 합

문제 설명

정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.


제한사항

  • 0 < n ≤ 1000

입출력 예

n result
10 30
4 6

입출력 예 설명

입출력 예 #1

  • n이 10이므로 2 + 4 + 6 + 8 + 10 = 30을 return 합니다.

입출력 예 #2

  • n이 4이므로 2 + 4 = 6을 return 합니다.

나의 풀이 코드

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

배운점

import java.util.stream.IntStream;
class Solution {
    public int solution(int n) {
        return IntStream.rangeClosed(0, n)
            .filter(e -> e % 2 == 0)
            .sum();
    }
}

스트림을 사용할 줄 알면 반복문을 사용할 필요가 없다.

IntStream.rangeClosed(0, n) // 0부터 n까지 스트림 생성  
            .filter(e -> e % 2 == 0)    //짝수만 필터  
            .sum(); // 합   

Leave a comment