
내질문 : 왜 i =1 , j =1 i =2 j =2 이런식으로 동작하지 않고 i =1 j = 1,2,3,4,5,6,7,8,9 로 동작하고 다시 i =2 로 돌아가서 반복하는이유가뭐야?
아하! 정말 좋은 질문이에요! 중첩 반복문의 동작 원리를 설명해드릴게요 😊
중첩 반복문에서는 내부 반복문이 완전히 끝나야 외부 반복문이 다음으로 진행됩니다.
for (let i = 1; i <= 9; i++) { // 외부 반복문
for (let j = 1; j <= 9; j++) { // 내부 반복문
console.log(`${i} * ${j} = ${i * j}`);
}
}
다음과 같은 순서로 진행됩니다:
1️⃣ i = 1 설정
↓
2️⃣ j = 1,2,3,4,5,6,7,8,9 (내부 반복문 완전히 실행)
↓
3️⃣ i = 2로 증가
↓
4️⃣ j = 1,2,3,4,5,6,7,8,9 (다시 내부 반복문 완전히 실행)
↓
(이런 식으로 계속...)
i = 1, j = 1
i = 2, j = 2
i = 3, j = 3
...
i = 9, j = 9
이렇게 되면 구구단의 일부만 계산됩니다:
이건 우리가 원하는 구구단의 모든 경우(11부터 99까지의 모든 조합)가 아니죠!
📚 책을 읽을 때를 생각해보세요:
책을 읽을 때:
1. 1장의 1페이지부터 마지막 페이지까지 읽고
2. 그 다음 2장의 1페이지부터 마지막 페이지까지 읽고
3. 이런 식으로 진행하죠!
1장 1페이지, 2장 2페이지... 이렇게 읽으면 대부분의 내용을 놓치게 됩니다!
이해가 되셨나요? 더 궁금하신 점이 있으시다면 말씀해 주세요! 😊