Instructions

링크

Implement a method that accepts 3 integer values a, b, c. The method should return true if a triangle can be built with the sides of given length and false in any other case.

(In this case, all triangles must have surface greater than 0 to be accepted).

My Solution

using System;

public class Triangle
{
    public static bool IsTriangle(int a, int b, int c)
    {
      int[] triangles = new int[3];

      triangles[0] = a;
      triangles[1] = b;
      triangles[2] = c;

      Array.Sort(triangles);

      return triangles[0] + triangles[1] > triangles[2];
    }
}
  • 삼각형의 성립 조건을 알아야 풀 수 있는 문제.
  • c가 가장 긴 변일때 a+b > c
  • Array.Sort

Best Practices

public class Triangle
{
    public static bool IsTriangle(int a, int b, int c) =>
      a > 0 && b > 0 && c > 0 && a + b > c && a + c > b && b + c > a;
}
  • 삼각형의 성립조건은 저게 맞는 것 같은데.
  • 어차피 모든 조건을 성립하면 삼각형의 성립 조건도 성립되기 때문에 상관없이 구현되어 있는 것 같다.