4. 같은 일 반복하기 (반복문)/4.1 정해진 횟수만큼 반복하기 (for)

4.1.3 반복 범위 조절하기 - 원하는 부분만 선택하기

thejavascript4kids 2025. 7. 1. 02:42

📘 4.1.3 반복 범위 조절하기 - 원하는 부분만 선택하기

여러분, 안녕하세요.

저는 어릴 때 도서관에서 책을 빌려 읽는 것을 좋아했습니다. 때로는 책 전체를 다 읽기도 했지만, 필요한 부분만 골라서 읽을 때도 있었어요. 예를 들어, 요리책에서는 디저트 부분만, 여행책에서는 제주도 부분만 읽는 식으로요.

프로그래밍에서도 마찬가지입니다. 때로는 처음부터 끝까지 모든 것을 반복할 필요가 없어요. 우리가 원하는 부분만 선택해서 반복할 수 있다면 얼마나 좋을까요?

오늘은 그런 선택적 반복의 지혜를 배워보겠습니다. 마치 좋은 독자가 책에서 필요한 부분을 찾아 읽듯이, 우리도 프로그램에서 필요한 부분만 골라서 처리하는 방법을 알아보겠어요.

🧠 새로운 단어들과 친해지기

오늘 만날 개념들을 차근차근 살펴보겠습니다.

단어 설명
반복 범위 for문에서 몇 번째부터 몇 번째까지 반복할지를 정하는 구간이에요.
시작점 반복을 시작할 첫 번째 숫자예요.
끝점 반복을 마칠 마지막 숫자예요.
증가값 한 번 반복할 때마다 세는 변수가 얼마나 변할지를 정하는 값이에요.

✨ 반복 범위 조절이 뭔지 알아보기

생각해보세요. 여러분이 집에서 학교까지 가는 길을 상상해보세요. 매일 같은 길을 걷지만, 때로는 다른 방식으로 걸을 수 있죠. 어떤 날은 빨리 걷고, 어떤 날은 천천히 걷고, 어떤 날은 중간에 친구 집에 들르기도 해요.

for문의 반복 범위 조절도 이와 같습니다. 항상 1부터 시작해서 1씩 증가할 필요는 없어요. 우리가 원하는 숫자에서 시작해서, 원하는 간격으로, 원하는 방향으로 진행할 수 있습니다.

마치 버스 노선처럼

제가 살던 동네에는 다양한 버스 노선이 있었어요. 급행버스는 주요 정류장만 정차하고, 일반버스는 모든 정류장에 정차했죠. 심야버스는 반대 방향으로 운행하기도 했어요.

다양한 운행 방식:

  • 급행: 1번, 5번, 10번, 15번 정류장만 정차
  • 일반: 1번, 2번, 3번, 4번... 모든 정류장 정차
  • 역방향: 10번에서 시작해서 1번까지 역순으로
// 급행 - 5의 배수 정류장만
for (let stop = 5; stop <= 20; stop += 5) {
    console.log(stop + "번 정류장 정차");
}

// 역방향 - 10번부터 1번까지
for (let stop = 10; stop >= 1; stop--) {
    console.log(stop + "번 정류장 도착");
}

🎯 왜 반복 범위를 조절해야 할까요?

때로는 모든 것을 처리할 필요가 없을 때가 있습니다.

첫째, 효율성 때문입니다. 필요하지 않은 부분까지 처리하면 시간과 에너지가 낭비되어요.

둘째, 특별한 패턴을 처리하기 위해서입니다. 짝수만, 홀수만, 또는 특정 간격으로만 처리하고 싶을 때 유용해요.

셋째, 실제 상황을 더 정확히 반영하기 위해서입니다. 현실에서는 모든 것이 1부터 시작하지 않거든요.

⚙️ 기본 사용법 배우기

반복 범위를 조절하는 방법은 간단합니다. for문의 세 부분만 우리가 원하는 대로 설정하면 돼요.

// 패턴 1: 특정 숫자부터 시작
for (let i = 5; i <= 10; i++) {
    console.log(i); // 5, 6, 7, 8, 9, 10
}

// 패턴 2: 2씩 증가 (짝수만)
for (let i = 0; i <= 10; i += 2) {
    console.log(i); // 0, 2, 4, 6, 8, 10
}

// 패턴 3: 거꾸로 감소
for (let i = 5; i >= 1; i--) {
    console.log(i); // 5, 4, 3, 2, 1
}

🧪 직접 해보면서 배우기

실제 상황에서 이런 범위 조절이 어떻게 사용되는지 살펴보겠습니다.

🔹 Ex1) 학급 번호 일부만 호명하기

// 🏫 3학년 1반 일부 학생 호명 시스템

console.log("📢 11번부터 15번까지 학생들 호명을 시작합니다!");

// 11번부터 15번까지만 호명합니다
for (let studentNumber = 11; studentNumber <= 15; studentNumber++) {
    console.log("🙋‍♀️ " + studentNumber + "번 학생, 대답하세요!");
    console.log("   ✋ '네! 여기 있습니다!'");
}

console.log("✅ 11번~15번 학생 호명 완료!");

🔹 Ex2) 짝수 테이블 번호만 청소하기

// 🍽️ 식당 테이블 청소 시스템

console.log("🧹 식당 짝수 테이블 청소를 시작합니다!");

let cleanedTables = 0;

// 2번부터 12번까지 짝수 테이블만 청소합니다
for (let tableNumber = 2; tableNumber <= 12; tableNumber += 2) {
    console.log("🧽 " + tableNumber + "번 테이블 청소 중...");
    console.log("✨ " + tableNumber + "번 테이블 청소 완료!");
    cleanedTables = cleanedTables + 1;
}

console.log("🎉 총 청소한 테이블: " + cleanedTables + "개");

🔹 Ex3) 카운트다운 타이머 만들기

// 🎆 새해 카운트다운 타이머

console.log("🎊 새해 카운트다운을 시작합니다!");

// 10부터 1까지 거꾸로 카운트다운합니다
for (let countdown = 10; countdown >= 1; countdown--) {
    console.log("⏰ " + countdown + "초 남았습니다!");

    if (countdown === 1) {
        console.log("   🔥 마지막 1초!");
    }
}

console.log("🎆 새해 복 많이 받으세요!");

🧠 자주 하는 실수와 주의할 점

범위 조절을 할 때 주의해야 할 몇 가지 사항들을 알아보겠습니다.

❌ 실수 1: 시작값과 끝값의 관계 착각

// ❌ 거꾸로 가려는데 증가시키고 있어요!
for (let i = 10; i <= 5; i++) {
    console.log(i); // 10은 5보다 크므로 조건이 처음부터 거짓입니다!
}

// ✅ 올바른 방법
for (let i = 10; i >= 5; i--) {
    console.log(i); // 10, 9, 8, 7, 6, 5
}

❌ 실수 2: 조건식에서 등호 빼먹기

// 5번 반복하고 싶은데...

// ❌ 4번만 반복됩니다
for (let i = 1; i < 5; i++) {
    console.log(i); // 1, 2, 3, 4 (4번)
}

// ✅ 정확히 5번 반복됩니다
for (let i = 1; i <= 5; i++) {
    console.log(i); // 1, 2, 3, 4, 5 (5번)
}

✏️ 연습문제로 개념 다지기

배운 내용을 연습해보겠습니다. 마치 정원사가 꽃밭의 필요한 부분만 물을 주듯이, 우리도 필요한 부분만 선택해서 처리해보겠어요.

Ex1) 3부터 8까지의 숫자를 출력해보자

for (let i = 3; i <= 8; i++) {                     // 3부터 8까지 반복합니다
    console.log(i);                                 // 현재 숫자를 출력합니다
}
// 결과: 3, 4, 5, 6, 7, 8

Ex2) 0부터 10까지 짝수만 출력해보자

for (let i = 0; i <= 10; i += 2) {                 // 0부터 시작해서 2씩 증가합니다
    console.log(i);                                 // 현재 짝수를 출력합니다
}
// 결과: 0, 2, 4, 6, 8, 10

Ex3) 5부터 1까지 카운트다운해보자

for (let i = 5; i >= 1; i--) {                     // 5부터 시작해서 1씩 감소합니다
    console.log(i);                                 // 현재 숫자를 출력합니다
}
// 결과: 5, 4, 3, 2, 1

📚 복습하기 - 지난 시간에 배운 내용도 기억해요!

새로운 것을 배우면서도 이전에 배운 것들을 잊지 않는 것이 중요해요.

🔄 4.1.2 복습: 카운터 변수의 역할

문제: 다음 코드에서 카운터 변수가 하는 일을 설명해보세요!

for (let count = 1; count <= 3; count++) {
    console.log(count + "번째 안녕하세요!");
}

정답과 설명:

  • 카운터 변수 count는 현재 몇 번째 반복인지를 기록해요
  • 1부터 시작해서 매번 1씩 증가하면서 3까지 반복해요
  • 결과: "1번째 안녕하세요!", "2번째 안녕하세요!", "3번째 안녕하세요!"

🔄 4.1.1 복습: for문의 3가지 구성 요소

문제: for문의 세 부분이 각각 무엇을 담당하는지 말해보세요!

for (let i = 0; i < 5; i++) {
    // 실행할 코드
}

정답과 설명:

  • let i = 0: 시작 숫자 - 카운터를 0으로 초기화
  • i < 5: 반복 조건 - i가 5보다 작을 때까지 반복
  • i++: 변화 규칙 - 매 반복 후 i를 1 증가

🔄 3단원 복습: if문으로 조건 확인하기

문제: 다음 코드의 실행 결과를 예상해보세요!

for (let num = 1; num <= 4; num++) {
    if (num % 2 === 0) {
        console.log(num + "은 짝수");
    } else {
        console.log(num + "은 홀수");
    }
}

정답과 설명:

  • 결과: "1은 홀수", "2는 짝수", "3은 홀수", "4는 짝수"
  • num % 2 === 0은 num이 2로 나누어떨어지는지(짝수인지) 확인하는 조건이에요!

이렇게 지난번에 배운 내용들도 계속 활용하면서 새로운 것을 배우는 거예요! 😊


지금까지 반복 범위 조절에 대해 함께 알아보았습니다. 이제 여러분은 for문을 자유자재로 조절할 수 있는 능력을 갖추게 되었어요!

반복 범위 조절은 마치 좋은 독자가 책에서 필요한 부분을 찾아 읽는 것과 같습니다. 전체를 다 처리하는 대신 정확히 필요한 부분만 선택해서 처리하는 똑똑한 방법이죠.

다음 시간에는 또 다른 흥미로운 자바스크립트 이야기를 함께 나누어보겠습니다. 여러분의 학습 여정이 계속해서 의미 있고 즐거우시길 바라요! 🌟

✅ 학습 완료 체크리스트

이번 시간에 배운 내용들을 모두 이해했는지 확인해보세요!

학습 내용 이해했나요?
반복 범위 조절의 기본 개념
다양한 범위 조절 패턴
자주 하는 실수들
실전 예제 이해
이전 단원 복습 내용

📂 마무리 정보

오늘 배운 4.1.3 내용이 여러분의 자바스크립트 지식에 잘 자리 잡았나요? 다음 시간에는 더 흥미진진한 내용으로 만나요!

기억할 점: 오늘 배운 내용을 꼭 연습해보시고, 궁금한 점이 있으면 언제든 다시 돌아와서 읽어보세요.


🚀 더 체계적인 JavaScript 학습을 원하신다면?
이 포스팅에서 다룬 내용을 실제로 실습해보세요!
무료 JavaScript 학습 플랫폼에서 단계별 학습과 실시간 코드 실행을 통해
더욱 효과적이고 재미있게 학습하실 수 있습니다.
📝 실시간 코드 실행 📊 학습 진도 관리 👥 체계적 커리큘럼
📚 171개 체계적 학습레슨 · 📋 855개 4지선다 연습문제 · 🆓 완전 무료 · ⚡ 즉시 시작