Menu
Coddy logo textTech

요약 - 사용자 프로필 검증기

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

challenge icon

챌린지

쉬움

사용자 프로필을 나타내는 세 개의 입력을 받게 됩니다. 첫 번째 입력은 사용자 이름(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: 프로필 유효성 검사를 위해 아래에 코드를 작성하세요
    // 사용자 이름 길이, 나이 범위, 이메일 형식을 확인하세요
    // 유효성 검사 결과에 따라 적절한 메시지를 출력하세요
    
}

Logic & Flow의 모든 레슨