문제
두 정수 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
'컴퓨터 과학 > 자료구조, 알고리즘' 카테고리의 다른 글
[Rust로 백준 하루 하나] 1-5. A/B (0) | 2024.07.21 |
---|---|
[Rust로 백준 하루 하나] 1-4. A×B (0) | 2024.07.21 |
[Rust로 백준 하루 하나] 1-2. A+B (0) | 2024.07.21 |
[Rust로 백준 하루 하나] 1-1. Hello World (0) | 2024.07.21 |
[Rust로 백준 하루 하나] 시작하기 앞서 (2) | 2024.07.21 |