문제(출처: 프로그래머스)

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
"가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다."
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다.
세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.

 

▶ 내가 푼 방식

function solution(sides) {
    const max = Math.max(...sides);
    sides.splice(sides.indexOf(max),1)
    if (max < (sides[0] + sides[1])){
        return 1
    }
    return 2;
}

 

 다른 유저가 푼 방식

// 유저 1 : 정렬 + 삼항연산자
function solution(sides) {
    sides = sides.sort((a,b) => a-b)
    return sides[0]+sides[1] > sides[2] ? 1 : 2;
}


// 유저 2 : 정렬 + 구조 분해 할당 + 삼항연산자
function solution(sides) {
    const [long, a, b] = sides.sort((a,b) => b-a);

    return long < a + b ? 1 : 2

}

 

 배운 것들

     -  공부한 것들을 최대한 활용하고 시안성을 좀더 고려하자

     - 

+ Recent posts