FIF's 코딩팩토리

패스트캠퍼스 챌린지 10일차 본문

패스트캠퍼스 챌린지

패스트캠퍼스 챌린지 10일차

FIF 2022. 2. 2. 21:02
반응형

중첩 반복문

반복문이 여러개 겹쳐진 형태를 중첩 반복문(NestedLoop) 이라고 한다.

Nested는 둥지 인데 둥지가 겹겹이 겹쳐 있으므로 이렇게 부른다.

하지만 너무 많이 중첩을 하면 수행속도가 느려지므로 적재적소에 잘 사용해야 한다.(후에 알고리즘과 관련)

그리고 중첩 반복문을 사용할 때에는 내부 반복문과 외부 반복문간의 관계를 유의해야 한다.

대표적인 중첩 반복문의 예로 구구단이 있다.

 

아래 코드는 1단부터 9단까지를 for문과 while문의 중첩을 사용하여 만든 코드이다.

for문의 코드를 살펴보면 for문 안에 for문이 있다.

외부 for문을 보면 dan이 2부터 시작한다. 이는 처음에 2단으로 시작한다는 의미이다.

그러면 2x1 2x2 2x3 ... 2x9 이런식으로 진행이 된다.

외부 for문이 1번 돌때 내부의 for문은 9번이 돈다. 그래서 2x1~2x9 까지 된다.

2x9까지 가면 외부 for문의 dan이 1 증가하여 3x1 3x2 3x3 ... 3x9 가 된다.

이런식으로 해서 9단까지 진행된다.

 

while 문과 for문을 비교했을 때 앞서 배웠듯이 while문은 괄호안에 조건이 하나만 들어간다.

대신 변수의 초기화를 잘 해야한다.

때에 따라 while문이 편할 때가 있고 for문이 편할 때가 있다.

구구단은 for문이 편한게 사실이다. 구구단을 while문으로 할 경우 변수의 초기화를 잘못하는 실수가 일어나기 쉽다.

하지만 while문도 많이 사용 되므로 연습을 많이 하자.

package ch20;

public class NestedLoop {
    public static void main(String[] args) {
        int dan = 2;
        int count = 1;

        for (dan = 2; dan <= 9; dan++) {

            for (count = 1; count <= 9; count++) {

                System.out.println(dan + "X" + count + "=" + dan * count);
            }
            System.out.println();
        }

        dan = 2;
        while (dan <= 9) {
            count = 1;
            while (count <= 9) {

                System.out.println(dan + "X" + count + "=" + dan * count);
                count++;

            }
            dan++;
            System.out.println();
        }

    }
}

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

 

 

반응형
Comments