코딩테스트/Programmers

[프로그래머스] 홀짝에 따라 다른 값 반환하기

grove1212 2025. 1. 22. 21:43

stream이라는 것을 발견하고 유용하게 써먹어 보았다.

import java.util.*; 
import java.util.stream.*; 

class Solution {
    public int solution(int n) {
        int answer = 0;
        if(n % 2 == 1){
            answer = IntStream.rangeClosed(1,n)
                .filter(num -> num%2 == 1)
                .sum();
        } else {
            answer = IntStream.rangeClosed(1,n)
                .filter(num -> num%2 == 0)
                .map(i -> i * i)
                .sum();
        }
        return answer;
    }
}

https://school.programmers.co.kr/learn/courses/30/lessons/181935