[알고리즘] 삼각형 판별하기 - JS

문제 설명

길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있 으면 “YES”를 출력하고, 만들 수 없으면 ”NO”를 출력한다.

입력설명

첫 번째 줄에 100이하의 서로 다른 A, B, C 막대의 길이가 주어진다.

출력설명

첫 번째 줄에 “YES”, “NO”를 출력한다.

입출력 예

입력 예 #1

  • 6 7 11

출력 예 #1

  • YES

입력 예 #2

  • 13 33 17

출력 예 #2

  • NO

해설

가장 긴 면의 길이보다 다른 두개의 면을 합친 길이가 더 커야 삼각형을 만들 수 있다.

풀이1

function solution(a, b, c) {
    let answer;
    const [min1, min2, max] = [a, b, c].sort((a, b) => a - b);
    answer = min1 + min2 > max ? 'YES' : 'NO';
    return answer;
}

console.log(solution(6, 7, 11));
console.log(solution(13, 33, 17));

풀이2

function solution(a, b, c) {
    let answer,
        sum = a + b + c,
        max = a;

    if (max < b) max = b;
    if (max < c) max = c;
    answer = sum - max > max ? 'YES' : 'NO';
    return answer;
}

console.log(solution(6, 7, 11));
console.log(solution(13, 33, 17));

댓글남기기