선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
sides
이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
sides
의 원소는 자연수입니다.sides
의 길이는 3입니다.sides
의 원소 ≤ 1,000sides | result |
---|---|
[1, 2, 3] | 2 |
[3, 6, 2] | 2 |
[199, 72, 222] | 1 |
function solution(sides) {
sides.sort((a, b) => a - b);
if (sides[0] + sides[1] <= sides[2]) {
return 2;
} else return 1;
}
나도 삼항연산자 써볼걸..
function solution(sides) {
sides = sides.sort((a,b) => a-b)
return sides[0]+sides[1] > sides[2] ? 1 : 2;
}
구조분해할당을 사용한 풀이
function solution(sides) {
const [long, a, b] = sides.sort((a,b) => b-a);
return long < a + b ? 1 : 2
}
구조 분해 할당은 배웠던건데 잘 기억이 안 나서 다시 정리해본다.
구조 분해 할당이란 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 javascript 표현식이다. 간단하게 말하면 분해하여 다른 변수에 담을 수 있게 해주는 것
const arr = [1, 2, 3, 4];
const a = arr[0];
const b = arr[1];
console.log(a); // 1
console.log(b); // 2
const arr = [1, 2, 3, 4];
const [a, b] = arr;
console.log(a); // 1
console.log(b); // 2
const [a, b, c = 3] = [1, 2];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3 -> 만약 기본값을 지정해주지 않았다면 undefined 출력