Java/JAVA 100 문제 풀이

자바 part.5 문제풀이 - 중첩 반복문과 continue 사용하여 특정 조건의 출력 제어하기

진이최고다 2023. 7. 30. 17:39

중첩 반복문과 continue label을 사용하여 특정 조건의 출력 제어하기

예제
public class License_CosParttern3 {
	
    public static void main(String[] args) {
    	
    	//[1] : 이중 반복문
    	System.out.println("모든 수 출력:");
    	for(int i = 0; i <= 3; i++) {
    		for(int j = 0; j < 10; j++){		
    			//출력값
    			int output = i * 10 + j;
    			System.out.print(output + " ");
    		}
    		System.out.println();
    	}
    	
    	//[2] : 이중 반복문 짝수출력
    	System.out.println("\n짝수만 출력:");
    	for(int i = 0; i <= 3; i++) {
    		for(int j = 0; j < 10; j++) {
    			//출력값
    			int output = i * 10 + j;
    			//짝수만 출력
    			if(output %2 != 0) {
    				continue;
    			}else {
    				System.out.print(output + " ");
    			}
    		}
    		System.out.println();
    	}
    }
}
모든 수 출력:
0 1 2 3 4 5 6 7 8 9 
10 11 12 13 14 15 16 17 18 19 
20 21 22 23 24 25 26 27 28 29 
30 31 32 33 34 35 36 37 38 39 

짝수만 출력:
0 2 4 6 8 
10 12 14 16 18 
20 22 24 26 28 
30 32 34 36 38

1. 이중 반복문의 구성과 용도

이중 반복문은 2차원 데이터 구조를 처리하거나, 모든 요소 쌍에 대한 작업을 수행할 때 사용된다.  이 예제에서는, 반복문의 첫 번째 레이어 "for(int i = 0; i <= 3; i++)" 는 각 10의 자릿수를 나타내며, 두 번째 레이어 "for(int j = 0; j < 10; j++)" 는 1의 자릿수를 나타낸다. 이렇게 하면, 두 개의 반복문의 연결되어 모든 숫자(0부터 39까지)를 순차적으로 생성하고 출력한다.

 

이중 반복문을 사용할 때는 반복문 안의 코드가 전체 반복 횟수에 따라 복잡도가 제곱으로 증가한다는 점을 고려해야 한다.

 

2. continue 와 조건문을 활용한 특정 숫자(짝수)의 출력

"continue" 키워드는 반복문의 현재 실행을 중지하고, 다음 반복으로 직접 점프하는 역할을 한다. 이것은 특히 반복문의 나머지 부분이 필요없거나, 현재의 반복 조건에서 다음 반복으로 넘어가는 것이 더 효율적일 때 유용하게 사용된다.

 

예제에서는 모든 숫자를 생성하면서, 생성된 숫자가 홀수인 경우 "if(output %2 != 0)" continue 키워드로 나머지 출력 구문을 건너뛰고 다음 숫자 생성으로 넘어간다. 

 

"continue"를 사용할 때 주의해야 할 점은, 이후에 실행되어야 할 중요한 로직이나 변수 업데이트가 있다면 "continue" 이전에 이루어져야 한다는 것이다. 이 예제에서는 숫자가 생성되고, 짝수인지 아닌지를 체크한 후에 "continue" 를 사용하므로, 다음 숫자로 넘어갈 수 있다. 만약 숫자 생성 로직이 "continue" 이후에 있었다면, "continue"로 인해 숫자 생성이 건너뛰어지고, 같은 숫자가 계속해서 반복되서 무한루프에 빠질 수 있다.