문제
- 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
- 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
- 삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
정답
function solution(sides) {
sides.sort((a, b) => b - a)
return (sides[0] >= sides[1] + sides[2] ? (2) : (1));
}
- 세 변의 길이 정렬 : sides 배열을 가장 큰 값부터 작은 값 순서로 정렬합니다. 이를 위해 sort 함수를 사용하며, 내림차순으로 정렬합니다.
- 가장 긴 변 확인 : 정렬된 배열에서 가장 긴 변을 sides[0], 다음으로 긴 변을 sides[1], 가장 짧은 변을 sides[2]로 설정합니다.
- 삼각형 조건 확인 : 가장 긴 변 sides[0]의 길이가 나머지 두 변 sides[1]과 sides[2]의 길이의 합보다 크거나 같은지를 확인합니다. 만약 크거나 같다면, 삼각형을 만들 수 없으므로 2를 반환합니다. 그렇지 않으면, 삼각형을 만들 수 있으므로 1을 반환합니다.
- 결과 반환 : 최종적으로 1 또는 2를 반환하여 주어진 세 변으로 삼각형을 만들 수 있는지를 나타냅니다.