diff --git a/src/problem/mod.rs b/src/problem/mod.rs index 64ce830..9999a50 100644 --- a/src/problem/mod.rs +++ b/src/problem/mod.rs @@ -662,3 +662,5 @@ mod p2901_longest_unequal_adjacent_groups_subsequence_ii; mod p75_sort_colors; mod p1931_painting_a_grid_with_three_different_colors; + +mod p3024_type_of_triangle; diff --git a/src/problem/p3024_type_of_triangle.rs b/src/problem/p3024_type_of_triangle.rs new file mode 100644 index 0000000..f63723c --- /dev/null +++ b/src/problem/p3024_type_of_triangle.rs @@ -0,0 +1,40 @@ +/** + * [3024] Type of Triangle + */ +pub struct Solution {} + +// submission codes start here + +impl Solution { + pub fn triangle_type(nums: Vec) -> String { + if nums[0] + nums[1] <= nums[2] + || nums[0] + nums[2] <= nums[1] + || nums[1] + nums[2] <= nums[0] + { + return "none".to_string(); + } + + if nums[0] == nums[1] || nums[0] == nums[2] || nums[1] == nums[2] { + if nums[0] == nums[1] && nums[1] == nums[2] { + "equilateral".to_string() + } else { + "isosceles".to_string() + } + } else { + "scalene".to_string() + } + } +} + +// submission codes end + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_3024() { + assert_eq!("equilateral", Solution::triangle_type(vec![3, 3, 3])); + assert_eq!("scalene", Solution::triangle_type(vec![3, 4, 5])); + } +}