[프로그래머스] 짝수의합


문제 설명

정수 n이 주어질 때, n 이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.


제한사항

  • 0 < n ≤ 1000

입출력 예

nresult
1030
46

입출력 설명

입출력 예 #1

  • n이 10이므로 2 + 4 + 6 + 8 + 10 = 30을 return 합니다.

입출력 예 #2

  • n이 4이므로 2 + 4 = 6을 return 합니다.

나의 첫번째 풀이

function solution(n) {
  var answer = 0;
  for (let i = 1; i <= n; i++) {
    if (i % 2 == 0) {
      answer += i;
    }
  }
  return answer;
}

Code Refactoring

function solution(n) {
  let result = 0;
  for (let i = 2; i <= n; i += 2) {
    if (i % 2 == 0) result += i;
  }
  return result;
}

//2의 배수만 출력하도록

참고 할 만한 다른 사람의 코드

function solution(n) {
  var half = Math.floor(n / 2);
  return half * (half + 1);
}

//가우스 덧셈을 활용 => ( 양쪽 두 수의 합 x ( 두 수 사이의 숫자의 수 + 1 ) ) / 2