요약 - 사용자 프로필 검증기
Coddy Rust 여정의 Logic & Flow 섹션에 포함된 레슨 — 66개 중 65번째.
챌린지
쉬움사용자 프로필을 나타내는 세 개의 입력을 받게 됩니다. 첫 번째 입력은 사용자 이름(username), 두 번째는 나이(age), 세 번째는 이메일 주소(email address)입니다. 다음 규칙에 따라 프로필을 유효성 검사하고 적절한 메시지를 출력하세요:
유효성 검사 규칙:
- 사용자 이름은 최소 3자 이상이어야 합니다.
- 나이는 13세에서 120세 사이(포함)여야 합니다.
- 이메일에는
@기호가 포함되어야 합니다.
요구 사항:
- 사용자 이름 입력을 읽고 공백을 제거(trim)하세요.
- 나이 입력을 읽고 공백을 제거한 후
i32로 파싱하세요. - 이메일 입력을 읽고 공백을 제거하세요.
- 사용자 이름의 길이가 최소 3자인지 확인하세요.
- 나이가 13에서 120 범위 내에 있는지 확인하세요 (범위와 함께
match를 사용하세요). - 이메일에
@문자가 포함되어 있는지 확인하세요 (.contains()메서드를 사용하세요). - 모든 유효성 검사를 통과하면 다음을 출력하세요:
Valid profile - 사용자 이름이 너무 짧으면 다음을 출력하세요:
Invalid username - 나이가 범위를 벗어나면 다음을 출력하세요:
Invalid age - 이메일에
@가 포함되어 있지 않으면 다음을 출력하세요:Invalid email - 유효성 검사는 사용자 이름, 나이, 이메일 순서대로 확인하세요.
입력:
- 첫 번째 줄: 사용자 이름 (예:
alice123) - 두 번째 줄: 나이 (예:
25) - 세 번째 줄: 이메일 주소 (예:
alice@example.com)
출력:
- 다음 중 하나:
Valid profile,Invalid username,Invalid age, 또는Invalid email
직접 해보기
use std::io;
fn main() {
// 사용자 이름 입력 읽기
let mut username = String::new();
io::stdin().read_line(&mut username).expect("Failed to read line");
let username = username.trim();
// 나이 입력 읽기
let mut age_input = String::new();
io::stdin().read_line(&mut age_input).expect("Failed to read line");
let age: i32 = age_input.trim().parse().expect("Failed to parse age");
// 이메일 입력 읽기
let mut email = String::new();
io::stdin().read_line(&mut email).expect("Failed to read line");
let email = email.trim();
// TODO: 프로필 유효성 검사를 위해 아래에 코드를 작성하세요
// 사용자 이름 길이, 나이 범위, 이메일 형식을 확인하세요
// 유효성 검사 결과에 따라 적절한 메시지를 출력하세요
}