반복문 레이블
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라는 레이블이 붙은 두 개의 중첩된 루프가 있습니다. i와 j의 곱이 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);
}
}이 경우, i가 j와 같을 때 continue 'outer; 문이 실행되어 내부 루프의 나머지 부분을 건너뛰고 외부 루프의 다음 반복을 계속합니다. 출력 결과는 다음과 같습니다:
(2, 1)
(3, 1)
(3, 2)챌린지
초급합이 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;
}
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.