[프로그래머스] 짝수의 합 (for)

조아연·2024년 6월 19일

JavaScript 공부

목록 보기
3/24

JavaScript 코딩테스트 9일차

짝수의 합

점점 어려워지는 중...

n+2 n+4 n+6.. 이런식으로 적어봤는데 수식 오류나서 결국 구글링

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

보통 이렇게 쓰더라.. 근데
" for (let i = 0; i <= n; i += 2)
{answer += i} " 요 부분이 이해가 안됬다.

i를 변수로 선언한다.
n은 i보다 크거나 같다.
i에 2를 더합니다?
답변에 i를 더합니다?

ex) n을 10으로 가정한다.
10은 i보다 크거나 같다. (i는 10 이 된다)
10에다가 2를 더하고 또 더합니다? (i는 현재 14이다)
답변에 다시 i를 더하고 또 더합니다? (그러면 28,,?)

찾은 내용 토대로 다시 보면 for문은 반복문

n는 10이라고 가정

ex) i는 0이라는 초기화식 > 10(n)은 0(i)보다 크거나 같음 (참) > 답변에서는 0(i)를 더해줌 > 증감식으로 가서 0(i)에 2를 더함 > 조건식으로 가서 10(n)은 2(i)보다 크거나 같음 (참) > 답변에서는 2(i)를 더해줌 > 증감식으로 가서 2(i)에 2를 더함 > 조건식으로 가서 10(n)은 4(i)보다 크거나 같음 (참) > 답변에서는 4(i)를 더해줌 > 증감식으로 가서 4(i)에 2를 더함 > 조건식으로 가서 10(n)은 6(i)보다 크거나 같음 (참) > 답변에서는 6(i)를 더해줌 > 증감식으로 가서 6(i)에 2를 더함 > 조건식으로 가서 10(n)은 8(i)보다 크거나 같음 (참) > 답변에서는 8(i)를 더해줌 > 증감식으로 가서 8(i)에 2를 더함 > 조건식으로 가서 10(n)은 10(i)보다 크거나 같음 (참) > 답변에서는 10(i)를 더해줌 > 증감식으로 가서 10(i)에 2를 더함 > 조건식으로 가서 10(n)은 12(i)보다 크거나 같음 (거짓) > 조건식이 거짓이기에 반복되는 for문은 종료된다.

반복문에 있는 증감식으로 인해 답변에서는 2 + 4 + 6 + 8 + 10 을 순차적으로 더하게 되고
그러면 자연스럽게 답은 30으로 나온다!

이해 완료

깨달은 점

  • let 로 보통 선언함, 재할당이 불가능하기에
  • 더하기 할당 연산자( += )는 오른쪽 피연산자의 값을 변수에 더한 결과를 다시 변수에 할당합니다. 두 피연산자의 타입이 더하기 할당 연산자의 동작을 결정하며, 덧셈 또는 문자열 연결이 가능합니다.
profile
비전공자 QA의 자기개발 공부노트

0개의 댓글