Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 유효한 삼각형 판별하기 - 세 변의 길이 검증 방법

길이가 각각 l, m, n인 세 개의 선분이 있다고 가정해 봅시다. 이 세 선분이 삼각형을 이룰 수 있는 조건은 단 하나, 임의의 두 변의 길이 합이 나머지 한 변보다 커야 한다는 것입니다.

예를 들어, 세 선분의 길이가 각각 4, 9, 3이라면 삼각형을 만들 수 없습니다. 그 이유는 4 + 3 = 7이 9보다 작기 때문입니다.

문제 정의

우리는 세 개의 숫자(세 변의 길이)를 인자로 받아, 해당 값들이 삼각형을 형성할 수 있는지 여부를 판별하는 JavaScript 함수를 작성해야 합니다.

삼각형 성립 조건

삼각형 부등식(Triangle Inequality)에 따르면, 다음 세 가지 조건을 모두 만족해야 유효한 삼각형이 됩니다.

  • a + b > c
  • b + c > a
  • c + a > b

코드 구현

다음은 위 조건을 구현한 JavaScript 코드입니다.

const a = 9, b = 5, c = 3;

const isValidTriangle = (a = 1, b = 1, c = 1) => {
    // 변의 길이가 0 또는 falsy 값인 경우 즉시 false 반환
    if (!a || !b || !c) {
        return false;
    }

    // 삼각형 부등식 세 가지 조건 검사
    const con1 = a + b > c;
    const con2 = b + c > a;
    const con3 = c + a > b;

    // 세 조건을 모두 만족해야 true 반환
    return con1 && con2 && con3;
};

console.log(isValidTriangle(a, b, c));

실행 결과

위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.

false

코드 설명

함수는 먼저 세 변 중 하나라도 0이거나 유효하지 않은 값(falsy)인 경우 false를 반환하여 잘못된 입력을 걸러냅니다. 이후 삼각형 부등식의 세 가지 조건을 각각 변수에 저장하고, 논리 AND(&&) 연산자로 모든 조건을 동시에 검사합니다.

예제에서 사용된 값 9, 5, 3의 경우 5 + 3 = 8이 9보다 작으므로 두 번째 조건(b + c > a)을 만족하지 못하고, 따라서 최종 결과는 false가 됩니다.