Алгоритм кодовых войн
Проблема
Реализуйте метод, который принимает 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