Menu
Coddy logo textTech

표현식으로서의 루프

Coddy Rust 여정의 논리와 흐름 섹션에 포함된 레슨. 66개 중 5번째.

대부분의 프로그래밍 언어에서 반복문은 코드를 반복해서 실행하는 문입니다. 하지만 Rust에는 고유한 기능이 있습니다. 반복문은 값을 반환하는 expression이 될 수도 있습니다. 즉, 반복문의 result를 변수에 할당할 수 있습니다.

루프에서 값을 반환하려면 break 뒤에 반환하려는 값을 사용합니다:

let result = loop {
    // 일부 조건 확인
    if condition_met {
        break 42; // 루프를 종료하고 42를 반환
    }
};

다음은 10부터 시작하여 첫 번째 even 숫자를 찾는 실용적인 예입니다:

let mut counter = 10;

let first_even = loop {
    if counter % 2 == 0 {
        break counter; // 짝수를 반환한다
    }
    counter += 1;
};

println!("First even number: {}", first_even);

루프는 짝수를 찾을 때까지 계속된 다음, break counter를 사용하여 루프를 종료하고 해당 숫자를 반환합니다. 반환된 값은 first_even에 할당됩니다.

challenge icon

챌린지

쉬움

시작 숫자를 입력으로 받습니다. 입력을 읽고 정수로 변환한 다음, loop 표현식을 사용하여 해당 숫자부터 시작해 7로 나누어떨어지는 첫 번째 숫자를 찾습니다.

요구 사항:

  • 값을 반환하는 loop 표현식을 사용합니다
  • 입력 숫자부터 checking을 시작합니다
  • 7로 나누어떨어지는 첫 번째 숫자를 찾습니다(7로 나눌 때 나머지는 0)
  • break를 사용하여 loop에서 found 숫자를 반환합니다
  • result를 Print합니다

입력: 시작 숫자를 나타내는 단일 정수

출력: 입력 숫자부터 시작하여 7로 나누어떨어지는 첫 번째 숫자를 Print합니다

직접 해보기

use std::io;

fn main() {
    // 입력 읽기
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("Failed to read line");
    let start_number: i32 = input.trim().parse().expect("Invalid input");
    
    // TODO: 아래에 코드를 작성하세요
    // 루프 표현식을 사용하여 7로 나누어떨어지는 첫 번째 숫자를 찾으세요
    
    
    // 결과 출력
    // println!("{}", result);
}
quiz icon실력 점검

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

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 Rust 컴파일러