Menu
Coddy logo textTech

표현식으로서의 루프

Coddy Rust 여정의 Logic & Flow 섹션에 포함된 레슨 — 66개 중 5번째.

대부분의 프로그래밍 언어에서 루프는 코드를 반복적으로 실행하는 문(statement)입니다. 하지만 Rust에는 독특한 기능이 있습니다. 루프가 값을 반환하는 표현식(expression)이 될 수도 있다는 점입니다. 즉, 루프의 결과를 변수에 할당할 수 있습니다.

루프에서 값을 반환하려면, break 뒤에 반환하려는 값을 입력합니다:

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

10부터 시작하여 첫 번째 짝수를 찾는 실용적인 예제입니다:

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를 표현식(expression)으로 사용하여 해당 숫자부터 시작하여 7로 나누어떨어지는 첫 번째 숫자를 찾으세요.

요구 사항:

  • 값을 반환하는 loop 표현식을 사용하세요.
  • 입력받은 숫자부터 확인을 시작하세요.
  • 7로 나누어떨어지는(7로 나눈 나머지가 0인) 첫 번째 숫자를 찾으세요.
  • break를 사용하여 루프에서 찾은 숫자를 반환하세요.
  • 결과를 출력하세요.

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

출력: 입력된 숫자부터 시작하여 7로 나누어떨어지는 첫 번째 숫자를 출력하세요.

치트 시트

Rust에서 루프는 값을 반환하는 표현식이 될 수 있습니다. 루프를 종료하고 해당 값을 반환하려면 break 뒤에 값을 사용하세요:

let result = loop {
    if condition_met {
        break 42; // 루프를 종료하고 42를 반환
    }
};

첫 번째 짝수를 찾는 예제:

let mut counter = 10;

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

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

직접 해보기

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실력 점검

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

Logic & Flow의 모든 레슨