벡터 생성하기
Coddy Rust 여정의 Logic & Flow 섹션에 포함된 레슨 — 66개 중 8번째.
이제 벡터가 무엇인지 이해했으니, 벡터를 생성하는 방법을 배워봅시다. Rust는 벡터를 생성하는 두 가지 주요 방법을 제공하며, 각각은 서로 다른 상황에 적합합니다.
첫 번째 방법은 나중에 요소를 추가할 수 있는 빈 벡터를 생성하기 위해 Vec::new()를 사용합니다:
let mut numbers = Vec::new();나중에 이 빈 벡터에 요소를 추가할 가능성이 높으므로 mut를 사용했다는 점에 주목하세요. Rust는 빈 벡터의 타입을 항상 결정할 수 있는 것은 아니므로, 다음과 같이 명시적으로 타입을 지정해야 할 수도 있습니다:
let mut numbers: Vec<i32> = Vec::new();두 번째 방법은 vec![] 매크로를 사용하여 초기값을 가진 벡터를 생성합니다:
let numbers = vec![1, 2, 3, 4, 5];vec![] 매크로는 시작 값을 알고 있을 때 더 편리합니다. Rust는 제공된 값으로부터 타입을 자동으로 결정할 수 있으므로, 타입 어노테이션이 필요하지 않습니다. 이 벡터는 5개의 정수를 포함하며 즉시 사용할 수 있습니다.
vec![] 매크로는 동일한 값으로 채워진 벡터를 생성하기 위한 반복 구문도 지원합니다. n개의 요소를 가지고 각 요소가 value로 설정된 벡터를 생성하려면 vec![value; n]을 사용하세요:
let zeros = vec![0; 5]; // [0, 0, 0, 0, 0]
let tens = vec![10; 3]; // [10, 10, 10]이것은 사용자 입력과 같이 런타임에 결정된 특정 크기의 벡터를 생성하고 싶을 때 특히 유용합니다:
let n = 4;
let data = vec![10; n]; // [10, 10, 10, 10]두 방식 모두 동일한 유형의 벡터를 생성하며, 선택은 초기 값이 있는지 또는 벡터를 점진적으로 구축할 계획인지에 따라 달라집니다.
챌린지
쉬움벡터가 포함해야 할 요소의 개수를 나타내는 숫자를 입력으로 받습니다. 입력을 읽고 정수로 변환한 다음, 각 요소가 숫자 10인 해당 개수만큼의 요소를 가진 벡터를 생성하세요.
요구 사항:
- 입력을 읽고 정수로 변환합니다.
vec![]매크로를 사용하여 벡터를 생성합니다.- 벡터는 지정된 개수의 요소를 포함해야 합니다.
- 각 요소의 값은
10이어야 합니다. - 각 요소를 별도의 줄에 출력합니다.
입력: 요소의 개수를 나타내는 단일 정수
출력: 벡터의 각 요소를 별도의 줄에 출력합니다.
직접 해보기
use std::io;
fn main() {
// 입력 읽기
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line");
let n: usize = input.trim().parse().expect("Invalid input");
// TODO: 아래에 코드를 작성하세요
// 각각 10의 값을 가진 n개의 요소를 포함하는 벡터 생성
// 각 요소를 별도의 줄에 출력
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.