코딩테스트 - 프로그래머스/Lv. 0

[30] JAVA 짝수의 합

유혁스쿨 2023. 11. 16. 12:00
728x90
반응형

문제 설명
정수 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+=2) {
            answer += i;
        }
        return answer;
    }
}

 

[풀이과정] 

설명 불필요

 


[다른 풀이]

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

IntStream의 rangeClosed는 arg1부터 arg2-1까지의 범위만큼 반복한 객체를 갖는다.

이후 filter를 통해 짝수인 값들에 해당하는 값을 수집하고

해당 수집된 값들을 sum()함수를 통해 누적합을 구한다.

728x90
반응형

'코딩테스트 - 프로그래머스 > Lv. 0' 카테고리의 다른 글

[32] JAVA 양꼬치  (0) 2023.11.16
[31] JAVA 배열의 평균 값  (0) 2023.11.16
[29] JAVA 각도기  (0) 2023.11.16
[28] JAVA 두 수의 나눗셈  (0) 2023.11.16
[27] JAVA 두 수의 합  (0) 2023.11.16