선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다.
세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
1.우선 sides의 배열을 내림차순으로 변경한다.
또한 sort 메서드를 이용하여 내림차 순으로 변경한다.
2.3개의 인자를 가진 배열이므로 인덱스를 사용해 3개의 변을 비교한다.
3.삼항연산자로 비교하여 1 or 2를 리턴한다.
ex)삼항연산자
(조건)? true일 때 값1:false일 때 값2
function solution(sides) {
var answer = 0;
sides.sort(function(a,b){
return b-a
})
sides[0]<sides[1]+sides[2]?
answer=1 :
answer=2
return answer;
}
function solution(sides) {
var answer = 0;
const max = Math.max(...sides);
const sum = sides.reduce((a,b) => a + b, 0) - max;
answer = max < sum? 1 : 2;
return answer;
}
Math.max로 sides 배열의 최대값을 구한다.
reduce로 나머지 인자의 합을 구하고 최댓값을 뺀다.
답은 똑같이 삼항연산자로 구했다.
이 답도 좋지만 더 간결하게 내림차순이 좋은 듯 하다.