⭐ Lv. 0 - 짝수의 합
정수 n
이 주어질 때, n
이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
0 < n
≤ 1000
n | result |
---|---|
10 | 30 |
4 | 6 |
입출력 예 #1
입출력 예 #2
처음 시도한 코드는 다음과 같다.
function solution(n) {
return n % 2 === 1 ? (n + 1) / 2 * (n - 1) / 2 : (n + 2) / 2 * n / 2;
}
주어진 n
이 홀수인지, 짝수인지에 따라 등차수열의 합을 이용하여 계산하였다. n
이 홀수라면, n
보다 작으면서 가장 큰 짝수에 대한 값으로 계산하였다.
하지만 삼항 연산자를 사용하기도 하였고, 더 간단하게 표현이 가능할 것 같아 아래와 같이 다시 풀이하였다.
function solution(n) {
return Math.floor(n / 2) * Math.floor(n / 2 + 1);
}