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

meek·2023년 3월 9일
0

Algorithm

목록 보기
7/11

❓ 문제 설명

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

🔥제한사항

  • 0 < n ≤ 1000

❗ 문제 풀이

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

먼저 변수 answer를 0으로 초기화한다. 그리고 for문을 이용해 i를 2부터 n까지 2씩 증가시키면서 반복합니다. 이때 i는 짝수, 그리고 매 반복마다 answer에 i를 더해줍니다.

마지막으로 반복이 끝난 후 answer 값을 반환한다.

예를 들어, solution(6)을 호출하면 2+4+6의 결과인 12를 반환하게 된다.

💡 다른 사람의 풀이

function solution(n) {
    var half = Math.floor(n/2);
    return half*(half+1);
}
  1. Math.floor(n/2)를 이용하여 n보다 작은 가장 큰 정수인 n/2를 구한다.
  2. 그리고 이 값을 half 변수에 할당한다.
  3. 공식을 이용하여 짝수의 합을 구한다.
  4. half*(half+1)을 반환한다.. half는 n/2이므로, 이 공식은 1부터 n/2까지의 합을 구하고 2를 곱한 결과!

🎉이 값은 n보다 작은 자연수 중에서 가장 큰 짝수의 합

✨ 가우스의 등차수열을 이용해 푸는 방법도 있었다! 실제 수학문제를 풀듯이 코딩테스트를 풀 수 있도록 계속 연습하고 생각해야겠다 ㅠㅠ

profile
hello, world!

0개의 댓글

관련 채용 정보