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

Gaeun·2022년 10월 26일
4
post-custom-banner

짝수의 합

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

나의 풀이

  1. for문을 사용하여 0부터 n까지 순회하고
  2. if문을 사용하여 짝수인 경우에만 answer에 더한다.
function solution(n) {
  let answer = 0;
  for (let i = 0; i <= n; i++) {
    if (i % 2 === 0) answer += i;
  }
  return answer;
}

다른 사람의 풀이 1

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

감탄.. 감탄... 또 감탄...!
이 코드를 보자마자 어렸을 때 자주 들었던 가우스의 덧셈이 뇌리에 팍 꽂혔다. 10까지의 짝수의 덧셈은 (10/2) * (10/2+1)인 30이고, 4까지의 짝수의 덧셈은 (4/2) * (4/2+1)인 6이니까... 이렇게 쉽고 간단하게, 하지만 멋드러지게 생각해낼 수 있었다니 정말 감탄을 금치 못했다. 나도 이렇게 문제를 효과적으로 풀어낼 수 있도록 알고리즘 공부를 더 해야겠다... 😭

다른 사람의 풀이 2

function solution(n) {
    var answer = 0;

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

    return answer;
}

내가 푼 방법과 유사하다. 하지만 이 풀이에서는 if문을 쓰지 않고 for문에서 i+=2를 하였다. 내 코드보다 길이가 짧고 가독성이 높다고 생각하며, 나는 왜 문제를 풀 때 이 생각을 하지 못했는지... 쉬운 문제들을 풀고 있기 때문에 Lv.1, Lv.2를 풀 때까지 기초를 더욱 탄탄히 다져가야겠다!

profile
🌱 새싹 개발자의 고군분투 코딩 일기
post-custom-banner

0개의 댓글