앞장의 WHILE 문으로 1~100까지 합을 구하는 코드를 살펴보도록 할까요?
코딩을 처음 접하신다면, 아래와 같은 말로 표현된 알고리즘을 생각하시면 좋습니다.
1) 변수sum ← 0 대입 2) 변수 i ← 1 대입 3) i값이 100 을 초과했다면 7)번으로 간다 4) 변수sum 에 변수i값을 더해준다 5) i값을 1을 더해준다 6) 3)번으로 간다 7) 변수sum 을 출력한다. |
위 내용을 코드로 옮기면 아래와 같은데요.
let sum=0; // 1) let i=1; // 2) while(i<=100) { // 3) sum+=i; // 4) i++; // 5) } // 6) console.log(sum); // 7) |
결과 5050 |
‘몇 번만 반복해!’라는 패턴이 자주 사용되다 보니 보다 편리한 사용법이 등장했습니다.
그것은 for 라는 반복문입니다.
for 에 적합한 알고리즘을 말로 다시 정리해보겠습니다. 좀 더 표현이 쉬워졌지요?
1) 변수sum ← 0 대입 2) 변수 i를 1부터 100까지 1씩 더해주면서 3) 번 반복 실행 3) 변수sum 에 변수i값을 더해준다. 4) 변수sum 을 출력한다. |
코드는 아래와 같은데요. 규칙에 맞게만 코드를 작성하면 위 코드가 그대로 작동됩니다.
let sum=0; for(let i=1; i<=100; ++i) { sum+=i; } console.log(sum); // 5050 출력 |
for 를 사용하는 규칙은 아래와 같습니다.
for(let 반복할변수=시작값; 반복할변수 <=종료값; 반복할변수++) { … } |
for 반복문은 좀 더 유연하게 사용할 수가 있는데요.
만일 1 ~ 100까지 짝수의 합을 구할 경우 아래와 같이 사용할 수 있습니다.
let sum=0; for(let i=2; i<=100; i+=2) { sum+=i; } console.log(sum); |
결과 2550 |
이 때 주의할 점은 짝수의 합이기 때문에 시작 값에 2를 대입해주어야 한다는 것입니다.
만일 1부터 10000까지 5의 배수의 합계만을 구한다면 코드는 어떻게 되어야 할까요?
위의 코드에서 약간만 응용해서 수정해 보세요. 정답은 10005000 이 나와야 합니다.
:
답안은 아래와 같습니다. 답안이 꼭 한가지는 아니니 내용이 달라도 결과가 맞으면 무방합니다.
let sum=0; for(let i=5; i<=10000; i+=5) { sum+=i; } console.log(sum); |
또한 for 문은 중첩해서(겹쳐서) 사용할 수 있습니다. 코드블록 안에 코드블록이 있는 셈인데요,
아래 코드는 변수i에는 2~9까지, 변수 j에는 1~9까지 반복하며 구구단을 출력하는 코드입니다.
for(let i=2; i<=9; i++) { for(let j=1; j<=9; j++) { console.log( i + " x " + j + " = " + ( i * j ) ); } } |
결과 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 : : 9 x 7 = 63 9 x 8 = 72 9 x 9 = 81 |
필요하신 분에게 도움이 되시길 바랍니다. 그러면 이만 :)
도움이 되셨다면 공감 한방, 댓글은 굿잡!
감사합니다~
다음게시글 : https://itadventure.tistory.com/487