Menu
Coddy logo textTech

반복문 레이블

Coddy Rust 여정의 Fundamentals 섹션에 포함된 레슨 — 75개 중 42번째.

Rust의 레이블은 중첩된 루프에서 특정 루프를 중단(break)하거나 계속(continue)할 수 있도록 도와줍니다. 루프 앞에 'label:을 추가하여 레이블을 지정하세요.

예를 들어:

'outer: for i in 1..=3 {
    'inner: for j in 1..=3 {
        if i * j > 5 {
            break 'outer;
            // 이 코드는 바깥쪽 루프를 중단시킵니다
        }
        println!("({}, {})", i, j);
    }
}

이 예제에서는 'outer'inner라는 레이블이 붙은 두 개의 중첩된 루프가 있습니다. ij의 곱이 5보다 크면 break 'outer; 문이 실행되어 바깥쪽 루프를 종료합니다. 이 코드의 출력 결과는 다음과 같습니다:

(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)

마찬가지로, continue 'label;을 사용하여 지정된 루프의 다음 반복으로 계속 진행할 수 있습니다. 예를 들어:

'outer: for i in 1..=3 {
    'inner: for j in 1..=3 {
        if i == j {
            continue 'outer;
            // 이것은 바깥쪽 루프를 계속 진행합니다
        }
        println!("({}, {})", i, j);
    }
}

이 경우, ij와 같을 때 continue 'outer; 문이 실행되어 내부 루프의 나머지 부분을 건너뛰고 외부 루프의 다음 반복을 계속합니다. 출력 결과는 다음과 같습니다:

(2, 1)
(3, 1)
(3, 2)
challenge icon

챌린지

초급

합이 10보다 크고 곱이 12의 배수인(곱을 12로 나누었을 때 나머지가 없는) 첫 번째 숫자 쌍 (i, j)를 찾기 위해 레이블이 지정된 루프(labeled loops)를 사용하는 Rust 프로그램을 작성하세요.  프로그램은 i를 1부터 20까지, j를 1부터 20까지 반복해야 합니다.

쌍을 찾으면 (i, j) 형식으로 출력하고 바깥쪽 루프를 빠져나오세요.

직접 해보기

fn main() {
    'outer: for i in 1..=20 {
        for j in 1..=20 {
            // Your logic here
            
            
            break 'outer;
        }
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨