자바스크립트 알고리즘 문제풀이 삼각형 판별

버건디·2023년 1월 11일
0
post-thumbnail

- 문제

- 내 풀이

function solution(a, b, c) {
  let answer;

  // 삼각형의 조건은 가장 큰 길이가 나머지 두 길이의 합보다 작아야함
  // 여기서 필요한것 : 가장 큰 값, 나머지 두 값의 합

  if (a > b && a > c) {
    if (a < b + c) {
      answer = "YES";
    } else {
      answer = "NO";
    }
  } else if (b > a && b > c) {
    if (b < a + c) {
      answer = "YES";
    } else {
      answer = "NO";
    }
  } else if (c > a && c > b) {
    if (c < a + c) {
      answer = "YES";
    } else {
      answer = "NO";
    }
  }

  return answer;
}

Math.max 로 최댓값을 구했는데 그 나머지의 합을 어떻게 구해야하는것인가가 어려웠다.

- 답지 풀이

function solution(a, b, c) {
  // 삼각형의 조건은 가장 큰 길이가 나머지 두 길이의 합보다 작아야함
  // 여기서 필요한것 : 가장 큰 값, 나머지 두 값의 합

  let answer;
  const sum = a + b + c;

  const max = Math.max(a, b, c);

  // sum - max 는 세 길이의 합에서 가장 큰 길이를 뺀거니까 나머지 두 길이의 합이 됨.

  if (sum - max > max) {
    answer = "YES";
  } else {
    answer = "NO";
  }

  return answer;
}

여기서 세개의 합에서 큰 값을 빼면 나머지 값들을 더한거나 마찬가지니, 그 후에 조건식을 달아주었다.

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글