Menu
Coddy logo textTech

벡터 생성하기

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![] 매크로는 동일한 값으로 특정 횟수만큼 채워진 벡터를 생성하는 반복 구문도 지원합니다:

let zeros = vec![0; 5]; // [0, 0, 0, 0, 0]

구문은 vec![value; n]이며, 여기서 value는 반복할 요소이고 n은 반복할 횟수입니다. 이는 기본값으로 미리 채워진 알려진 크기의 벡터가 필요할 때 유용합니다.

두 방식 모두 동일한 유형의 벡터를 생성합니다. 선택은 초기 값이 있는지 또는 벡터를 점진적으로 빌드할 계획인지에 따라 달라집니다.

challenge icon

챌린지

쉬움

벡터가 포함해야 할 요소의 개수를 나타내는 숫자를 입력으로 받습니다. 입력을 읽고 정수로 변환한 다음, 각 요소가 숫자 10인 해당 개수의 요소를 가진 벡터를 생성하세요.

요구 사항:

  • 입력을 읽고 정수로 변환합니다
  • vec![] 매크로를 사용하여 벡터를 생성합니다
  • 벡터는 지정된 개수의 요소를 포함해야 합니다
  • 각 요소는 10 값을 가져야 합니다
  • 각 요소를 별도의 줄에 출력합니다

입력: 요소의 개수를 나타내는 단일 정수

출력: 벡터의 각 요소를 별도의 줄에 출력합니다

치트 시트

Rust는 벡터를 생성하는 두 가지 주요 방법을 제공합니다:

빈 벡터를 생성하기 위해 Vec::new()를 사용합니다:

let mut numbers = Vec::new();

나중에 요소를 추가할 계획이라면 mut를 사용하세요. 타입을 명시적으로 지정해야 할 수도 있습니다:

let mut numbers: Vec<i32> = Vec::new();

초기값이 있는 벡터를 생성하기 위해 vec![] 매크로를 사용합니다:

let numbers = vec![1, 2, 3, 4, 5];

vec![] 매크로는 제공된 값으로부터 타입을 자동으로 결정합니다.

반복되는 값이 있는 벡터를 생성하기 위해 vec![] 매크로를 사용합니다:

let numbers = vec![0; 5]; // [0, 0, 0, 0, 0]

vec![value; n] 구문은 valuen번 반복하여 포함하는 벡터를 생성합니다.

직접 해보기

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개의 요소를 가진 벡터 생성
    
    
    // 각 요소를 별도의 줄에 출력
    
}
quiz icon실력 점검

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

Logic & Flow의 모든 레슨