문제 (10101번)
창영이는 삼각형의 종류를 잘 구분하지 못한다. 따라서 프로그램을 이용해 이를 외우려고 한다.
삼각형의 세 각을 입력받은 다음,
- 세 각의 크기가 모두 60이면, Equilateral
- 세 각의 합이 180이고, 두 각이 같은 경우에는 Isosceles
- 세 각의 합이 180이고, 같은 각이 없는 경우에는 Scalene
- 세 각의 합이 180이 아닌 경우에는 Error
를 출력하는 프로그램을 작성하시오.
입력
총 3개의 줄에 걸쳐 삼각형의 각의 크기가 주어진다. 모든 정수는 0보다 크고, 180보다 작다.
출력
문제의 설명에 따라 Equilateral, Isosceles, Scalene, Error 중 하나를 출력한다.
풀이
코드
use std::io;
fn main() {
let mut input = String::new();
for _ in 0..3 {
io::stdin().read_line(&mut input).unwrap();
}
let input: Vec<i32> = input
.split_whitespace()
.map(|i| i.trim().parse::<i32>().unwrap())
.collect();
if input.iter().sum::<i32>() != 180 {
println!("Error");
} else {
if input[0] == input[1] && input[1] == input[2] {
println!("Equilateral");
} else if input[0] != input[1] && input[1] != input[2] && input[0] != input[2] {
println!("Scalene");
} else {
println!("Isosceles");
}
}
}
해설
특이사항 없음
추가 학습
- 특이사항 없음
'컴퓨터 과학 > 자료구조, 알고리즘' 카테고리의 다른 글
[Rust로 백준 하루 하나] 10-8. 세 막대 (0) | 2024.09.12 |
---|---|
[Rust로 백준 하루 하나] 10-7. 삼각형과 세 변 (0) | 2024.09.12 |
[Rust로 백준 하루 하나] 10-5. 대지 (1) | 2024.09.11 |
[Rust로 백준 하루 하나] 10-4. 수학은 체육과목 입니다 (1) | 2024.09.10 |
[Rust로 백준 하루 하나] 10-3. 네 번째 점 (1) | 2024.09.10 |