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

백승연·2023년 12월 12일
0
post-thumbnail

🗒️ 문제

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

function solution(n) {
    var answer = 0;
    return answer;
}

제한 사항

  • 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) { 
    let sum = 0;
    for (let i=0; i<=n; i++) {
        if (i%2 == 0) {
            sum += i;
        }
    }
    return sum;
}

💡 다른 사람들의 풀이

# 1

Math.floor()을 사용할 생각은 전혀 못 해서 신기했다

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

# 2

반복횟수를 2로 할 수도 있구나,, 이렇게 하면 if문이 없어도 되네

function solution(n) {
    var answer = 0;

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

    return answer;
}

#3

메소드 체이닝을 사용해서 푼게 신기해서 가져옴

function solution(n) {
  return Array(n)
    .fill()
    .map((_, i) => i + 1)
    .filter((v) => v % 2 === 0)
    .reduce((acc, cur) => acc + cur, 0);
}



📝 모르는 내용 찾아보기

profile
공부하는 벨로그

0개의 댓글