코딩테스트 문제풀이/inflearn

[인프런] Node.js / 섹션1 - 기본문제 풀이 / 2. 삼각형 판별

sangchu 2022. 7. 24. 00:24

나의 풀이

function solution(a, b, c) {
  let answer = "YES";
  if (
    (a > b && a > c && a >= b + c) ||
    (b > c && b > a && b >= a + c) ||
    (c > a && c > b && c >= a + b)
  ) {
    answer = "NO";
  }
  return answer;
}

console.log(solution(6, 7, 11));

두 변의 길이의 합이 가장 긴 변의 길이보다 작아야지 삼각형이다.

 

 

강사 풀이

function solution(a, b, c) {
  let answer = "YES",
    max;
  let sum = a + b + c;
  if (a > b) {
    max = a;
  } else {
    max = b;
  }
  if (c > max) {
    max = c;
  }
  if (max >= sum - max) {
    answer = "NO";
  }
  return answer;
}

console.log(solution(6, 7, 11));

앞서 세 수 중 최솟값 문제처럼

1, 2번째 매개변수를 비교해 가장 큰 변의 길이를 설정하였고, 3번째 매개변수와 비교하여 최종적으로 설정하였다.

max가 sum-max(남은 변의 길이 합)보다 크면 삼각형이 아님을 이용했다