본문 바로가기
자바스크립트(JavaScript)/프로그래머스 문제풀기

[programmers - js] 짝수 더하기

by yerica 2024. 12. 16.

 

문제 내용

나의 풀이

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

다른 사람의 풀이

수열 공식 사용
function solution(n) {
    var half = Math.floor(n/2);
    return half*(half+1);
}
수열의 합을 구하는 공식이 있다. 
수열의 합을 구하는 공식

위 공식은 1부터 n 번까지 모든 숫자를 더하는 공식이다.
우리는 짝수만 더할 것이기 때문에 Math.floor(n/2)를 통해 n(짝수의 개수)를 구한다.

만약 n이 10이라면 짝수 2,4,6,8,10 총 5개의 짝수가 있는 것이다.
짝수의 합은 기존 공식의 2배 임으로 n(n+1) 공식을 가져와 half * (half +1) 로 계산한다.
기존 수를 짝수로 설정하여 반복하기
function solution(n) {
    var answer = 0;

    for(let i=2 ; i<=n ; i+=2)
        answer += i;

    return answer;
}