TIL(사전캠프)

알고리즘 코드카타 2. 짝수의 합(2024-06-05)

note994 2024. 6. 5. 17:40

문제 개요

정수 n을 인수로받고 n 이하의 짝수를 모두 합해 return하는 solution 함수를 완성하는 문제이다.

 

나의 답안

이 문제도 간단했다. 보편적인 방법을 사용하여 풀이하였다.

 

이대로는 아쉬우니 다른사람의 풀이를 보기로했다.

다른사람의 코드

역시 내가 알지못하는 문법을 사용한 풀이가 있었다. 이것도 하나씩 풀어서 해석해보기로 한다.

 

1. import java.util.stream.IntStream; = Java의 stream API를 사용하기 위해 IntStream 클래스를 import한다.

2. IntStream.rangeClosed(0, n) = 0부터 n까지의 정수 시퀀스를 생성한다. 

3. .filter(e -> e % 2 == 0) = 생성된 정수 시퀀스 중에서 짝수만을 필터링한다. 

4. .sum(); = 필터링된 짝수 요소들의 합계를 구한다. 만약 필터링 하지 않는다면 시퀀스의 모든 요소를 더한다.

 

해당 코드 실행결과

시간이 약간 소모되는듯하다. 이 원인이 로직이 어쩔 수 없이 시간이 소요되는것인지 import의 영향인지는 아직 잘 모르겠다.