선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.
가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.
삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.
1번
const value = (sides[0]<sides[1]+sides[2]) ? 1 : 2
: (sides[0]+sides[2]<sides[1]) ? 1:2
: (sides[0]+sides[1]<sides[2]) ? 1:2
2번
function solution(sides) {
if(sides[1]+sides[2]>sides[0]) {
return 1
}
if (sides[0]+sides[2]>sides[1]) {
return 1
}
if (sides[0]+sides[1]>sides[2]) {
return 1
}
else return 2
}
3번
function solution(sides) {
if(sides[1]+sides[2]>sides[0])
return 1
if (sides[0]+sides[2]>sides[1])
return 1
if (sides[0]+sides[1]>sides[2])
return 1
return 2
}
※ 참고로 틀린 답이다. 어디가 틀렸을까?
let solution=([a,b,c])=>a<b+c&&b<a+c&&c<a+b?1:2
function solution(sides) {
sides = sides.sort((a,b) => a-b)
return sides[0]+sides[1] > sides[2] ? 1 : 2;
}
function solution(sides) {
let max = sides.reduce((acc, n) => acc > n ? acc : n, 0)
let sum = sides.reduce((acc, n) => acc + n, 0) - max
return max < sum ? 1 : 2;
}
새로운 매서드를 익히고 싶다면 먼저 익히고 싶은 매서드부터 시도해보고, 잘 안되면 할 줄 아는 매서드로 풀고 난 뒤에 다른사람의 풀이를 보며 어느 부분에서 막혔는지 피드백 해야겠다.