본문 바로가기
algorithm/Programmers

[JAVA] 짝수의 합

by 이쟝 2023. 1. 13.

1. 내가 푼 기본적인 방법

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

2. for문을 2부터 돌려서 2개씩 

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

3. while문 

class Solution {
    public int solution(int n) {
        int answer = 0;
        while(n>0) {
            if(n%2 == 0) answer += n;
            n--;
        }
        return answer;
    }
}

4. Stream을 통한 연산

import java.util.stream.IntStream;

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

확실히 Stream이 코드가 짧고 간결한 대신에 for문보다 오래걸린다.