Menu
Coddy logo textTech

요약 - 기본 점수 추적기

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

challenge icon

챌린지

쉬움

두 개의 입력을 받게 됩니다: 첫 번째는 쉼표로 구분된 테스트 점수 목록이고, 두 번째는 추가할 점수입니다. 초기 점수들로 벡터를 생성하고, 새 점수를 추가한 뒤, 모든 점수의 평균을 계산하여 결과를 출력하세요.

요구 사항:

  • 쉼표로 구분된 점수들이 포함된 첫 번째 입력을 읽습니다 (예: 85,92,78)
  • 문자열을 쉼표로 분리하고, 정수로 변환하기 전에 각 개별 토큰의 공백을 제거합니다 (예: 분리 후 각 요소에 .trim() 사용)
  • 이 점수들로 가변(mutable) 벡터를 생성합니다
  • 두 번째 입력을 읽고 정수로 변환합니다 (먼저 공백을 제거하세요)
  • .push()를 사용하여 벡터에 새 점수를 추가합니다
  • 벡터에 있는 모든 점수의 평균을 계산합니다
  • 전체 점수의 개수를 출력합니다
  • 평균 점수를 출력합니다 (정수형으로)

입력:

  • 첫 번째 줄: 초기 점수들을 나타내는 쉼표로 구분된 정수들 (예: 85,92,78)
  • 두 번째 줄: 추가할 새 점수를 나타내는 정수

출력:

  • 첫 번째 줄: 전체 점수의 개수
  • 두 번째 줄: 평균 점수 (소수점 이하를 버린 정수형)

참고: 전체 입력 라인에 대해 .trim()을 호출하고, 쉼표로 분리한 후의 각 개별 점수 토큰에 대해서도 반드시 .trim()을 호출하세요. 입력 문자열에는 제거하지 않을 경우 파싱 시 패닉(panic)을 유발할 수 있는 보이지 않는 공백이나 줄바꿈 문자가 포함될 수 있습니다.

직접 해보기

use std::io;

fn main() {
    // 쉼표로 구분된 점수들을 읽습니다
    let mut scores_input = String::new();
    io::stdin().read_line(&mut scores_input).expect("Failed to read line");
    
    // 추가할 새로운 점수를 읽습니다
    let mut new_score_input = String::new();
    io::stdin().read_line(&mut new_score_input).expect("Failed to read line");
    
    // TODO: 아래에 코드를 작성하세요
    // 1. scores_input을 쉼표로 분리하고 정수로 변환합니다
    // 2. 이 점수들로 가변 벡터를 생성합니다
    // 3. new_score_input을 정수로 변환합니다
    // 4. 벡터에 새로운 점수를 추가합니다
    // 5. 모든 점수의 평균을 계산합니다
    
    // 전체 점수의 개수를 출력합니다
    // println!("{}", total_scores);
    
    // 평균 점수를 출력합니다
    // println!("{}", average);
}

Logic & Flow의 모든 레슨