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
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 12 - 배열 뒤집기) (0) | 2024.01.30 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 11 - 배열의 평균값) (0) | 2024.01.30 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 9 - 각도기) (0) | 2024.01.30 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 8 - 나이 출력) (0) | 2024.01.30 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 7 - 숫자 비교하기) (0) | 2024.01.30 |