Алгоритм кодовых войн

Проблема

Реализуйте метод, который принимает 3 целочисленных значения a, b, c.

a, b, c 3개의 정수 값을 사용하는 메소드를 작성해라.

Метод должен возвращать true, если можно построить треугольник со сторонами заданной длины, и false в любом другом случае.

주어진 길이의 변으로 삼각형을 만들 수 있으면 true를 반환하고, 그렇지 않으면 false를 똘 똘홼 를 똘환하고.

Решение 01

function isTriangle(a, b, c) {
  return (a + b > c) && (a + c > b) && (b + c > a);
}
isTriangle(1, 1, 1);  // true
isTriangle(1, 1, 2);  // false
isTriangle(1, 2, 2);  // true

Решение 02

function isTriangle(a, b, c) {
  let arr = [a, b, c].sort();
  return arr[2] < (arr[0] + arr[1]);
}
isTriangle(1, 1, 1);  // true
isTriangle(1, 1, 2);  // false
isTriangle(1, 2, 2);  // true
  • sort(): 배열의 element를 정렬한 후, 그 배열을 반환한다.

Решение 03

function isTriangle(a, b, c) {
  let max = Math.max(a, b, c);
  return max < (a + b + c - max);
}
isTriangle(1, 1, 1);  // true
isTriangle(1, 1, 2);  // false
isTriangle(1, 2, 2);  // true
  • Math.max(): 값이 가장 큰 수를 반환한다.

Решение 04

function isTriangle(a, b, c) {
  let max = Math.max(a, b, c);
  return max < (a + b + c) / 2;
}
isTriangle(1, 1, 1);  // true
isTriangle(1, 1, 2);  // false
isTriangle(1, 2, 2);  // true