요약 - 기본 점수 추적기
Coddy Rust 여정의 Logic & Flow 섹션에 포함된 레슨 — 66개 중 14번째.
챌린지
쉬움두 개의 입력을 받게 됩니다: 첫 번째는 쉼표로 구분된 테스트 점수 목록이고, 두 번째는 추가할 점수입니다. 초기 점수들로 벡터를 생성하고, 새 점수를 추가한 뒤, 모든 점수의 평균을 계산하여 결과를 출력하세요.
요구 사항:
- 쉼표로 구분된 점수들이 포함된 첫 번째 입력을 읽습니다 (예:
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);
}