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

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

1. sum()을 이용한 방법

vector.iter().sum()은 벡터의 모든 요소의 합을 리턴합니다. 합계를 벡터의 길이로 나누면 평균 값을 계산할 수 있습니다.

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

Output:

sum: 21
avg: 3.5

2. fold()를 이용한 방법

아래와 같이 fold()를 이용하여 벡터의 모든 요소들을 누적하여 합계를 계산할 수 있습니다.

  • 평균은 합을 벡터의 길이로 나누면 됩니다
  • 평균을 계산할 때는 as f32를 사용하여 float으로 계산
fn main() {
    let vec = vec![1, 2, 3, 4, 5, 6];
    let sum = vec.iter().fold(0, |acc, x| acc + x);
    let avg = sum as f32 / vec.len() as f32;
    println!("sum: {}", sum);
    println!("avg: {}", avg);
}

Output:

sum: 21
avg: 3.5

3. for문을 이용한 방법

for문을 이용하여 직접 Vector의 모든 요소의 합을 계산할 수 있습니다.

  • 평균은 합을 배열의 길이로 나누면 됩니다
  • 평균을 계산할 때는 as f32를 사용하여 float으로 계산
fn main() {
    let vec = vec![1, 2, 3, 4, 5, 6];
    let mut sum = 0;
    for i in 0..vec.len() {
        sum += vec[i];
    }
    let avg = sum as f32 / vec.len() as f32;
    println!("sum: {}", sum);
    println!("avg: {}", avg);
}

Output:

sum: 21
avg: 3.5
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha