Rust - 배열의 합계, 평균 (sum, average)

러스트에서 Array의 합계(Sum)와 평균(Average)을 계산하는 방법을 소개합니다.

1. sum()을 이용한 방법

arr.iter().sum()은 배열의 합계를 리턴합니다. 합계를 배열의 길이로 나누면 평균 값을 계산할 수 있습니다.

  • 평균을 계산할 때는 as f32를 사용하여 float으로 계산
  • sum()의 리턴 값을 받는 변수는 명시적으로 타입 지정
fn main() {
    let arr = [1, 2, 3, 4, 5, 6];
    let sum: i32 = arr.iter().sum();
    let avg = sum as f32 / arr.len() as f32;
    println!("sum: {}", sum);
    println!("avg: {}", avg);
}

Output:

sum: 21
avg: 3.5

2. fold()를 이용한 방법

fold()를 이용하여 아래와 같이 배열의 요소들을 누적하여 합계를 계산할 수 있습니다. 평균은 합을 배열의 길이로 나누면 됩니다.

  • 평균을 계산할 때는 as f32를 사용하여 float으로 계산
fn main() {
    let arr = [1, 2, 3, 4, 5, 6];
    let sum = arr.iter().fold(0, |acc, x| acc + x);
    let avg = sum as f32 / arr.len() as f32;
    println!("sum: {}", sum);
    println!("avg: {}", avg);
}

Output:

sum: 21
avg: 3.5

3. for문을 이용한 방법

for문을 이용하여 직접 배열의 모든 요소의 합을 계산할 수 있습니다. 평균은 합을 배열의 길이로 나누면 됩니다.

  • 평균을 계산할 때는 as f32를 사용하여 float으로 계산
fn main() {
    let arr = [1, 2, 3, 4, 5, 6];
    let mut sum = 0;
    for i in 0..arr.len() {
        sum += arr[i];
    }
    let avg = sum as f32 / arr.len() as f32;
    println!("sum: {}", sum);
    println!("avg: {}", avg);
}

Output:

sum: 21
avg: 3.5
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha