본문 바로가기

Programming/Rust로 Euler 문제 풀이

문제풀이 환경 구성 (Rust 프로그래밍 환경 셋업)

반응형

기본 환경 구성


  • Rust 코드 작성 및 컴파일 가능한 환경을 구성한다. 
    • 여기서 별도 설명 안한다.
  • 필자의 환경은,
    • Windows 
    • Cargo, Rust
    • Visual Source Code

 

테스트 환경


필자는 10개의 문제별로 패키지를 구분하면서 작성했다. 즉, euler1_9 패키지에는 문제1~문제9까지를 작성.

 

그리고, cargo test를 통해서, 각 케이스에 대한 답이 맞는지 확인할 수 있도록 했다.

 

환경구성하는 것을 단계별로 해보자.

 

1. cargo1_0 패키지를 만들자.

 

2. Visual Studio Code 실행

 

3. VSC(Visual Source Code)이용해서, src 폴더 밑에 p1.rs 파일 생성

 

4. p1.rs 파일 내용을 작성

#[test]
fn test(){
    assert_eq!(23, get_sum(10));
    assert_eq!(233168, get_sum(1000));
}

#[cfg(test)]
fn get_sum(bound: u64) -> u64{
    let mut sum = 0;
    for i in 3..bound{
        if i%3==0 || i%5==0{
            sum += i;
        }
    }
    return sum;
}

 

5. main.rs 파일에 p1.rs 파일을 사용할 수 있도록 mod 구문 추가

mod p1;

fn main() {
    println!("Hello, world!");
}

 

6. cargo를 이용 테스트 실행 

 

잘못된 답에 대해서 잘 걸러내는지, p1.rs에서 10일 때의 답 23대신에 다른값을 넣어서 테스트 수행해본다. 

#[test]
fn test(){
    // assert_eq!(23, get_sum(10));
    assert_eq!(1, get_sum(10));
    assert_eq!(233168, get_sum(1000));
}

 

cargo test를 수행해본다. 아래와 같이 FAILED가 뜨고, 원하는 답이 아니라는 메시지가 뜬다.

 

 

반응형