Menu
Coddy logo textTech

요약 - 요소 찾기

Coddy Rust 여정의 Logic & Flow 섹션에 포함된 레슨 — 66개 중 41번째.

challenge icon

챌린지

쉬움

두 개의 입력을 받게 됩니다. 첫 번째 입력은 쉼표로 구분된 숫자 목록(예: 10,20,30,40)이고, 두 번째 입력은 찾고자 하는 대상 숫자입니다. 쉼표로 구분된 숫자들을 파싱하여 벡터에 저장한 다음, 대상 숫자를 검색하세요. .iter().position()을 사용하여 대상 숫자의 인덱스를 찾으면 Option<usize>가 반환됩니다. match를 사용하여 두 가지 경우를 모두 처리하고 적절한 메시지를 출력하세요.

요구 사항:

  • 첫 번째 입력(쉼표로 구분된 숫자)을 읽고 공백을 제거합니다.
  • 입력을 쉼표로 분할하고 각 부분을 i32로 파싱하여 벡터를 생성합니다.
  • 두 번째 입력(대상 숫자)을 읽고 공백을 제거합니다.
  • 대상 숫자를 i32로 파싱합니다.
  • .iter().position(|&x| x == target)를 사용하여 벡터에서 대상 숫자를 검색합니다.
  • match 표현식을 사용하여 .position()에서 반환된 Option을 처리합니다.
  • Some(index) 암(arm)에서는 Found at index [index]를 출력합니다.
  • None 암(arm)에서는 Not found를 출력합니다.

입력:

  • 첫 번째 줄: 쉼표로 구분된 숫자 (예: 10,20,30,40)
  • 두 번째 줄: 찾고자 하는 대상 숫자 (예: 30)

출력:

  • 대상을 찾은 경우: Found at index [index]
  • 대상을 찾지 못한 경우: Not found

직접 해보기

use std::io::{self, BufRead};

fn main() {
    let stdin = io::stdin();
    let mut lines = stdin.lock().lines();
    
    // 쉼표로 구분된 숫자들을 읽습니다
    let numbers_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // 대상 숫자를 읽습니다
    let target_input = lines.next().unwrap().unwrap().trim().to_string();
    
    // 쉼표로 구분된 숫자들을 파싱하여 벡터에 저장합니다
    let numbers: Vec<i32> = numbers_input
        .split(',')
        .map(|s| s.trim().parse().unwrap())
        .collect();
    
    // 대상 숫자를 파싱합니다
    let target: i32 = target_input.parse().unwrap();
    
    // TODO: 아래에 코드를 작성하세요
    // .iter().position()을 사용하여 대상을 찾고 match를 사용하여 결과를 처리하세요
    
}

Logic & Flow의 모든 레슨