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

[Rust로 백준 하루 하나] 10-6. 삼각형 외우기

sans2 2024. 9. 11. 10:21

문제 (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");
        }
    }
}

해설

특이사항 없음


추가 학습

  • 특이사항 없음