Problem
- Implement a method that accepts 3 integer values a, b, c.
- a, b, c 3개의 정수 값을 사용하는 메소드를 작성한다.
- The method should return true if a triangle can be built with the sides of given length and false in any other case.
- 주어진 길이의 변으로 삼각형을 만들 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환한다.
Solution 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
Solution 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를 정렬한 후, 그 배열을 반환한다.
Solution 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()
: 값이 가장 큰 수를 반환한다.
Solution 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