오랜만에 C언어 강의글을 올리는 것 같다.
오늘은 예~전에 예고했던 대로 중첩 for문에 대해서 배워 보려고 한다.
중첩 for문이란?
‘중첩’의 사전적 의미는 ‘거듭 겹치거나 겹쳐지는 것’이다.
따라서 중첩 for문은 계속 겹쳐서 for문을 작성하는 것을 말한다.
아래 코드를 보자.
#include <stdio.h>
int main(){
int a=0,i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
a++;
}
}
printf(“%d\n”,&a);
return 0;
}
이 코드를 실행시키면 출력값은 얼마일까?
이 코드에서 0부터 9까지 반복되는 for문이 2번 겹쳐져 있다.
그러면 i=0, j=0부터 i=9, j=9까지 반복이 되므로 총 반복 횟수는 100번이다.
따라서 실행값은 100이 된다.
이렇게 중첩 for문을 이용하면 10번을 반복하는 for문을 10번 쓸 필요 없이 2개의 for문만으로도 충분히 a를 0에서 100까지 증가시킬 수 있다.
그런데 혹자는 이렇게 물어볼 수도 있을 것이다.
‘for문 안에서 i를 0에서 100까지 돌리면 for문 1개로도 되지 않나요?’
이 코드에서는 그렇긴 하다.
하지만 문제를 풀다 보면 무조건 for문 2개가 필요한 문제가 있을 것이다.
그 문제들은 바로 ‘별 찍기’ 문제들이다.
코드업의 1352번 문제부터 1371번 문제까지 풀어보면 좋을 것 같다.
그럼 이렇게 강의를 마치겠다.
빠이~~