본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 10 - 짝수의 합)

728x90

 

# 문제 10 (짝수의 합)

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



# 답안 

// 1. 입력: n ->  정수 1,2,3 같은거
// 2. 출력: n 이하의 짝수를 모두 더한 값
 
function solution(n) {
    let sum = 0;
    for (let i = 0; i <= n; i++){
    if (i % 2 == 0){
        sum += i;
    }
    }
    return sum;
}



# 인사이트 

// for 반복문 사용

 

< 과정 >

ex. n = 3일 경우

- 변수 i는 값이 0이다. (begin 실행)
- i가 0이므로 (i <= 3 ) 조건이 true가 된다. (condition이 truthy이면,)
- 반복문 본문(body)이 실행돼서  0 % 2 가 0이라서 if 조건문이 true이므로, sum += i 구문이 실행돼서, sum = 0 + 0 = 0이 된다. 
- sum = 0 을 return 한다.
- i가 1로 증가한다. (body를 실행 한 후, step을 실행함)

- i가 1이므로 (i <= 3 ) 조건이 true가 된다. (condition이 truthy이면,)
- 반복문 본문(body)이 실행돼서 1 % 2 가 1이라서 if 조건문이 false이므로 sum += i 구문이 실행되지않는다.
- i가 2로 증가한다. (body를 실행 한 후, step을 실행함)

- i가 2이므로 (i <= 3 ) 조건이 true가 된다. (condition이 truthy이면,)
- 반복문 본문(body)이 실행돼서  2 % 2 가 0이라서 if 조건문이 true이므로, sum += i  구문이 실행돼서, sum = 0 + 2 = 2가 된다. 
- sum = 2 을 return 한다.
- i가 3으로 증가한다. (body를 실행 한 후, step을 실행함)

- i가 3이므로 (i <= 3 ) 조건이 true가 된다. (condition이 truthy이면,)
- 반복문 본문(body)이 실행돼서 3 % 2 가 1이라서 if 조건문이 false이므로 sum += i 구문이 실행되지않는다.
- i가 4로 증가한다. (body를 실행 한 후, step을 실행함)

- i가 4이므로 (i <= 3) 조건이 false가 되고 반복문이 종료된다.
- 결국 return 값인 sum은 2가  출력 된다. ( 0 + 2 )

 

728x90