본문 바로가기

컴퓨터 과학/자료구조, 알고리즘

[Rust로 백준 하루 하나] 1-3. A-B

문제

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

 

출력

첫째 줄에 A-B를 출력한다.


풀이

코드

use std::io;

fn main() {
	// 입력 변수
    let mut input = String::new();
    
    io::stdin()
        .read_line(&mut input)
        .unwrap();
    
    // collect를 사용하여 벡터 타입으로 모아주기
    let input: Vec<&str> = input.split_whitespace().collect();
    
    let a: i32 = input[0].trim().parse().unwrap();
    let b: i32 = input[1].trim().parse().unwrap();
    
    println!("{}", a-b);
}

 

해설

이전 덧셈 문제에서는 collect를 사용하지 않고 이터레이터로 해결하였습니다. 이번 문제에서는 collect를 사용하여 벡터로 모아주고 각 요소를 정수 타입으로 변환하여 산술 연산을 진행하였습니다.

 

2024.07.21 - [분류 전체보기] - [Rust로 백준 하루 하나] 1-2. A+B

 

read_line으로 입력 받는 방식, split_whitespace로 문자열을 공백으로 나누는 방식, trim과 parse를 통한 타입 변환 방식은 Rust Book에 나오는 기본 메서드로 추가로 설명하지 않습니다. 


추가 학습

  • collect