Menu
Coddy logo textTech

배열 수정하기

Coddy Rust 여정의 Fundamentals 섹션에 포함된 레슨 — 75개 중 58번째.

배열의 요소에 접근하는 것 외에도, 요소를 수정할 수도 있습니다. 특정 요소를 수정하려면, 먼저 배열을 수정 가능하게 만들기 위해 mut가 필요하며, 그런 다음 인덱스를 사용하여 새로운 값을 할당할 수 있습니다.

다음은 예시입니다:

let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);

출력:

apple, orange, cherry

bananaorange로 변경되었습니다.

challenge icon

챌린지

쉬움

3개의 입력을 받는 프로그램을 작성하세요:

  • 첫 번째 입력은 쉼표로 구분된 5개 값의 문자열입니다 (예: 1,2,3,4,5).
  • 두 번째 입력은 인덱스입니다.
  • 세 번째 입력은 새로운 요소입니다.

시작 코드는 이미 쉼표로 구분된 문자열을 arr이라는 이름의 가변 배열로 변환해 두었습니다. 별도의 변환 코드를 작성할 필요 없이 이 배열을 직접 사용할 수 있습니다.

프로그램은 두 번째 입력으로 받은 인덱스 위치의 요소를 세 번째 입력으로 받은 값으로 변경하여 수정된 배열을 출력해야 합니다.

치트 시트

배열 요소를 수정하려면 배열을 mut로 선언해야 합니다:

let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);

이렇게 하면 인덱스 1의 요소가 "banana"에서 "orange"로 변경됩니다.

직접 해보기

use std::io;
use std::convert::TryInto;

fn main() {
    let mut input_str_arr = String::new();
    let mut input_index = String::new();
    let mut new_element = String::new();
    io::stdin().read_line(&mut input_str_arr).unwrap();
    io::stdin().read_line(&mut input_index).unwrap();
    io::stdin().read_line(&mut new_element).unwrap();

    let new_element = new_element.trim().to_string();
    let index: usize = input_index.trim().parse().unwrap();
    let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
    
    // 아래에 코드를 작성하세요
    // 챌린지를 해결하기 위해 arr, index, new_element를 사용하세요    

    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
quiz icon실력 점검

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

Fundamentals의 모든 레슨