천진난만 코딩 스토리

1-2. 삼각형 판별하기 본문

코딩테스트.js/자바스크립트 알고리즘 문제풀이 입문 (인프런)

1-2. 삼각형 판별하기

Wisdom_1104 2022. 12. 18. 01:40

-코드-

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

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

 

-풀이과정-

이 문제를 풀기위해서는 삼각형의 기본 원리를 알아야 함.

삼각형의 두 변의 길이의 합이 한 변의 길이보다 작으면 안 됨.

즉, '두 변의 길이 합 > 제일 긴 한 변'이어야 함.

 

function solution(a, b, c) { 를 하여

세 수 를 받고

 

let answer = "Yes"; 를 하여

기본 출력값을 "Yes"로 함.

 

그럼 이제 "No"의 경우를 출력하기 위해 코드를 작성해야 함.

먼저 max의 경우를 구해야 함.


let sum = a + b + c; 를 하여

sum 이라는 변수는 a+b+c라고 함.
if (a > b) max = a; 를 하여

만약 a가 b보다 크다면 max라는 변수에 a를 넣게 함.
else max = b; 를 하여

반대로 a가 b보다 크지 않다면 max에 b를 넣게 함.
if (c > max) max = c; 를 하여

만약 c가 저장된 max보다 크다면 max에 c를 넣게 함.

 

이제 max를 구했으니 "No"의 경우를 출력하는 코드를 작성해야 함.


if (sum - max <= max) answer = "No"; 를 하여

만약 a+b+인 sum-max가 max보다 작거나 같다면 answer에 "No"를 넣음.

 

 

6, 7, 11이 주어졌으니 11보다 6+7이 더 크므로

"Yes"가 출력됨.