삼각형의 완성조건(1)

Y b·2023년 7월 3일
0

문제

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.

삼각형의 세 변의 길이가 담긴 배열 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로 나머지 인자의 합을 구하고 최댓값을 뺀다.
답은 똑같이 삼항연산자로 구했다.

이 답도 좋지만 더 간결하게 내림차순이 좋은 듯 하다.

profile
웹 개발자

0개의 댓글

관련 채용 정보