본문 바로가기
코딩일기/JS<자바스크립트>

자바 스크립트 <짝수의 합> 프로그래머스

by 2pro.e_pro 2024. 5. 30.
728x90
반응형

이번 아티클 에서는 자바 스크립트 <짝수의 합> 프로그래머스 문제를 풀어보자.

 

문제는 아래와 같다.

 

여기서 문제를 읽으면 읽을 수록 머리가 아파오는데 이유는

초심자 입장에서는 "짝수"를 더하라고 하니 그러면 홀수는?

그리고 홀수랑 짝수를 어떻게 나눠? 하는 의문이 생긴다..

(문제를 풀면 풀수록 사고력에 직접적인 쥐가 나는듯 하다..)

 

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

결국 문제는 위와 같이 풀었는데

 

1. 우선 답변을 위해 선언한 answer 값을 0으로 만들었고

2. 짝수를 만날때까지 돌아가게 해야 했기 때문에 for문을 활용해서 설정을 했으며

4. for문 안에서 돌아가는 " i " 값이 짝수를 만나는 상황을 가정해야 했기 때문에
    해당 " i " 값을 %를 활용 2로 나누게 하였다.

5. 그렇게 나눈 값은 0과 "===" 같다는 가정을 해서 2로 계속 나누면 0이 되는 상황을 만들었으며
    결국 2로 계속 나누어 0 이 되는 숫자는 짝수이기 때문에

6. answer로 나오는 값을 i에 더해주게 되는것.

 

설명하면서도 내가 이때 어떻게 풀었는가 싶다.

 

다른 사람들은 어떻게 풀었을까?

 

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

천재는 많다..

 

function solution(n) {
    var answer = 0;

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

    return answer;
}

그리고 같은 for 문 이지만 더 간단한 느낌이 드는 이런 문법도 참 매력적이다.

728x90
반응형

댓글