배열 수정하기
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, cherrybanana가 orange로 변경되었습니다.
챌린지
쉬움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]);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.