주요 배열 연산
Coddy Rust 여정의 Fundamentals 섹션에 포함된 레슨 — 75개 중 68번째.
자주 사용되는 배열 연산은 다음과 같습니다:
- 배열 내 모든 요소의 합계를 구합니다:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
sum += number;
}
println!("Sum: {}", sum);- 배열 내 요소들의 평균 구하기:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
sum += number;
}
let average = sum as f64 / numbers.len() as f64;
println!("Average: {}", average);- 배열에서 최대 요소 찾기:
let numbers = [1, 5, 2, 9, 3];
let mut max = numbers[0];
for &number in &numbers[1..] {
if number > max {
max = number;
}
}
println!("Max: {}", max);- 배열에서 최솟값 요소를 찾습니다:
let numbers = [1, 5, 2, 9, 3];
let mut min = numbers[0];
for &number in &numbers[1..] {
if number < min {
min = number;
}
}
println!("Min: {}", min);챌린지
쉬움길이가 8인 정수 배열을 입력으로 받아 다음 연산을 수행하는 calculate_stats라는 이름의 함수를 작성하세요:
- 배열의 모든 요소의 합을 계산합니다.
- 배열 요소의 평균을 계산합니다.
- 배열에서 최댓값을 찾습니다.
- 배열에서 최솟값을 찾습니다.
함수는 합계, 평균, 최댓값, 최솟값을 순서대로 포함하는 double형 배열을 반환해야 합니다.
치트 시트
Rust에서 흔히 사용되는 배열 연산:
모든 요소의 합계:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
sum += number;
}요소의 평균:
let numbers = [1, 2, 3, 4, 5];
let mut sum = 0;
for number in &numbers {
sum += number;
}
let average = sum as f64 / numbers.len() as f64;최대 요소:
let numbers = [1, 5, 2, 9, 3];
let mut max = numbers[0];
for &number in &numbers[1..] {
if number > max {
max = number;
}
}최소 요소:
let numbers = [1, 5, 2, 9, 3];
let mut min = numbers[0];
for &number in &numbers[1..] {
if number < min {
min = number;
}
}직접 해보기
use std::io;
use std::convert::TryInto;
fn calculate_stats(arr: [i32; 8]) -> [f64; 4] {
// 여기에 코드를 작성하세요
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let numbers: [i32; 8] = input_str_arr.split(',').map(|s| s.parse::<i32>().unwrap()).collect::<Vec<i32>>().try_into().unwrap();
let stats = calculate_stats(numbers);
println!("Sum: {}", stats[0]);
println!("Average: {}", stats[1]);
println!("Maximum: {}", stats[2]);
println!("Minimum: {}", stats[3]);
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.