길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있 으면 “YES"를 출력하고, 만들 수 없으면 ”NO"를 출력한다.
▣ 입력설명
첫 번째 줄에 100이하의 서로 다른 A, B, C 막대의 길이가 주어진다.
▣ 출력설명
첫 번째 줄에 “YES", "NO"를 출력한다.
입력 - 6 7 11
출력 - YES
function solution(a, b, c) {
let answer = "NO";
let array = [a, b, c];
let sum = array.reduce((a, b) => {
return a + b;
});
let max_num = array[0];
for (let i = 0; i < array.length; i++) {
if (max_num < array[i + 1]) {
max_num = array[i + 1];
}
}
if (sum - max_num > max_num) {
answer = "YES";
return answer;
}
return answer;
}
//YES
console.log(solution(6, 7, 11));
우선 삼각형이 만들어지기 위한 조건은 가장 큰 길이의 막대보다 나머지 두 막대의 길이가 더 커야한다.
때문에 reduce 메서드를 이용하여 받아온 매개변수를 다 더한 sum 을 만들고,
그 중에서 최대값을 구하였다.
sum과 최대값을 빼면 최대값을 제외한 두 숫자의 합이 나올 것이며, 두 숫자의 합이 최대값보다 크면 YES, 아니면 NO를 출력했다.