Menu
Coddy logo textTech

요약 - 안전한 나눗셈 함수

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

challenge icon

챌린지

쉬움

두 개의 입력을 받게 됩니다. 첫 번째 입력은 피제수(dividend)를 나타내는 숫자이고, 두 번째 입력은 제수(divisor)를 나타내는 숫자입니다. 두 개의 f64 매개변수를 받고 Result<f64, &'static str>를 반환하는 safe_divide 함수를 작성하세요. 이 함수는 제수가 0일 때 Err("Cannot divide by zero")를 반환하고, 그렇지 않으면 나눗셈 결과와 함께 Ok를 반환해야 합니다. match 표현식을 사용하여 결과를 처리하고 적절한 출력을 인쇄하세요.

요구 사항:

  • 첫 번째 입력(피제수)을 읽고 공백을 제거합니다.
  • 첫 번째 입력을 f64로 파싱합니다.
  • 두 번째 입력(제수)을 읽고 공백을 제거합니다.
  • 두 번째 입력을 f64로 파싱합니다.
  • 두 개의 f64 매개변수를 받고 Result<f64, &'static str>를 반환하는 safe_divide 함수를 작성하세요.
  • 함수 내부에서 제수가 0.0인지 확인합니다:
    • 맞다면, Err("Cannot divide by zero")를 반환합니다.
    • 아니라면, Ok(dividend / divisor)를 반환합니다.
  • 파싱된 두 숫자로 함수를 호출합니다.
  • match 표현식을 사용하여 Result를 처리합니다.
  • Ok(value) 암(arm)에서 Division result: [value]를 출력합니다.
  • Err(error) 암(arm)에서 Error: [error]를 출력합니다.

입력:

  • 첫 번째 줄: 피제수를 나타내는 숫자 (예: 20.0)
  • 두 번째 줄: 제수를 나타내는 숫자 (예: 4.0)

출력:

  • 나눗셈에 성공한 경우: Division result: [result]
  • 0으로 나눈 경우: Error: Cannot divide by zero

직접 해보기

use std::io;

// TODO: 여기에 safe_divide 함수를 작성하세요
// fn safe_divide(dividend: f64, divisor: f64) -> Result<f64, &'static str> {
//     여기에 코드를 작성하세요
// }

fn main() {
    // 첫 번째 입력값(피제수)을 읽습니다
    let mut dividend_input = String::new();
    io::stdin().read_line(&mut dividend_input).expect("Failed to read line");
    let dividend: f64 = dividend_input.trim().parse().expect("Invalid number");
    
    // 두 번째 입력값(제수)을 읽습니다
    let mut divisor_input = String::new();
    io::stdin().read_line(&mut divisor_input).expect("Failed to read line");
    let divisor: f64 = divisor_input.trim().parse().expect("Invalid number");
    
    // TODO: safe_divide를 호출하고 match를 사용하여 Result를 처리하세요
    // 결과에 따라 적절한 출력을 인쇄하세요
}

Logic & Flow의 모든 레슨